以前使用row_number() over來實現ms sql上的分頁,

使用limit m, n來實現mysql-like上的分頁

 

EX:

mssql : 

select title, msg
from 
(
select row_number() over (order by id) as RowNo, title, msg
from tableA
) As NewTableA
where RowNo between m and n

或者

mysql : 

select title, msg
from TableA
order by id
limit m, n

 

不過剛發現MSSQL也有跟mysql類似的寫法,

就是

OFFSET M ROWS FETCH NEXT N ROWS ONLY 

==>

select title, msg
from TableA
order by id
offset m rows fetch next n rows only

這樣寫起來簡傑許多.

 

關於MSSQL對欄位的各種排序可以參考

排序函數 row_number(), rank(), dense_rank()

文章標籤
全站熱搜
創作者介紹
創作者 abcg5 的頭像
abcg5

Aaron Yang

abcg5 發表在 痞客邦 留言(0) 人氣(20)