sql 分頁查詢

2022-06-23 04:03:11 字數 730 閱讀 8483

資料過多時sql中返回資料,開銷大,使用者還不一定會用到。這時使用sql分頁查詢,更具使用者操作返回對應的資料就能極大程度提高效率。

分頁有多種方法:top in、exist、row_number()等,在此只敘述相對高效的

max/top  分頁方式

1.原始的

select * from dbo.pagetest where id >(select max(id) from (select top(9900) id from dbo.pagetest order by id)a) order by id

2.封裝儲存過程

create proc pageseparate(

@count int, -- 資料條數

@tabname nvarchar(50), --表名

@pageindex int --區間 多少也開始查詢)as

begin

declare @sqlstr nvarchar(max)

set @sqlstr = 'select * from '+@tabname+' where id >(select max(id) from (select top('+cast((@pageindex*@count)as nvarchar(20))+') id from '+@tabname +' order by id)a) order by id'

print @sqlstr

exec(@sqlstr)

end

SQL分頁查詢

分頁sql查詢在程式設計的應用很多,主要有儲存過程分頁和sql分頁兩種,我比較喜歡用sql分頁,主要是很方便。為了提高查詢效率,應在排序欄位上加索引。sql分頁查詢的原理很簡單,比如你要查100條資料中的30 40條,你先查詢出前40條,再把這30條倒序,再查出這倒序後的前十條,最後把這十條倒序就是...

sql分頁查詢

declare id int declare moverecords int declare currentpage int declare pagesize int set currentpage 300 set pagesize 100 currentpage和 pagesize是傳入引數 se...

SQL分頁查詢

關於sql語句分頁,網上也有很多啦,我貼一部分過來,並且總結自己已知的分頁到下面,方便日後查閱。方法1 適用於 sql server 2000 2005 1 select top 頁大小 2from table1 3where id not in4 5select top 頁大小 頁數 1 id f...