SQL Server中的分頁

2021-09-06 13:40:12 字數 1501 閱讀 3758

sqlserver2000時的分頁思路

1.分頁查詢時,首先將資料排序

select

*from mystudent order

by fid desc

2.取第一頁資料

select

top5

*from mystudent order

by fid desc

3.取第二頁資料

select

top5

*from

mystudent

where fid notin(

select

top5

*from mystudent order

by fid desc

)

order

by fid desc

4.取第三頁的資料

select

top5

*from

mystudent

where fid notin(

select

top (2

*5) *

from mystudent order

by fid desc

)

order

by fid desc

4.取第四頁的資料

select

top5

*from

mystudent

where fid notin(

select

top (3

*5) *

from mystudent order

by fid desc

)

order

by fid desc

sqlserver2005時的分頁思路

--第7頁資料

select

*from

(

select

*,row_number() over(order

by fid desc) as

runumber

from

mystudent

) as

tblwhere tbl.rnumber between6*

5+1and7*

5--第20頁資料

select

*from

(

select

*,row_number() over(order

by fid desc) as

runumber

from

mystudent

) as

tblwhere tbl.rnumber between19*

5+1and20*

5--開窗函式與聚合函式一起使用,可以讓聚合函式對每一條資料都計算一次

select

*,count(*) over() as 總條數 from mystudent

SQLServer 的資料分頁

sqlserver 的資料分頁 假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下...

SQLServer 的資料分頁

假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下 10代表分頁的大小 selec...

分頁查詢中sql server和mysql

mysql是用limit進行查詢 sql server中是用top進行查詢,select top n from tablename,這個top是可以巢狀的,例如 select top 5 from tablename where id not in select top 5 from tablena...