天天看點

SQL SERVER的分頁查詢

資料庫:SQL SERVER 2012

表名:IO

字段:ID(唯一碼),date等

資料源共6652行,每頁查詢30條記錄,現查詢第120頁。

方法1:

#查詢第120頁,即查詢3601-3630頁的記錄
#注:确認字段ID是數值型
select * from IO
order by ID  
offset 3600 rows
fetch next 30 rows only ;
           

方法2:

select top 30* from IO 
WHERE ID NOT IN 
(SELECT TOP 3600 ID FROM IO ORDER BY ID) 
ORDER BY ID;
           

方法3:

select top 30* from IO
WHERE ID>(
SELECT ISNULL(MAX(ID),0) FROM(SELECT TOP 3600 ID FROM IO ORDER BY ID)A)
ORDER BY ID
           

方法4:

select top 30 * from
(select row_number() over(ORDER BY id) as rownumber,* from IO)A
WHERE rownumber>3600;