sqlserver 資料分頁 多個主鍵

2021-07-07 05:40:37 字數 486 閱讀 7371

在sqlserver中,資料庫的分頁一般結合top 和 not in 來實現,但這必須是表中只有乙個主鍵,如果有多個主鍵該怎麼做呢

現在有乙個表a

裡面有欄位

name

schoolyear

text

其中name 和 schoolyear為主鍵

如果要查詢 pagesize 條資料,第 page 頁

解決方案:

用row_number()函式來實現

select top pagesize * from

(select row_number() over (order by name) as rowno,* from a)

where rowno > (page - 1) * pagesize

這種方法的思路:

row_number() 可以生成乙個順序的行號,over (order by name) 是根據name來排行號

Sql Server 資料分頁

1 引言 在列表查詢時由於資料量非常多,一次性查出來會非常慢,就算一次查出來了,也不能一次性顯示給客戶端,所以要把資料進行分批查詢出來,每頁顯示一定量的資料,這就是資料要分頁。2 常用的資料分頁語法 先查出 top 300000,再聚合取這個集合中最大的id1,再過濾 id大於id1的集合 上圖中使...

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...