目前常見的三種sql分頁方式:
--top not in方式
select top 條數 * from tablename
where id not in (select top 條數*頁數 id from tablename)
--row_number() over()方式
select * from (
select *, row_number() over(order by id ) as rownumber from tablename
) as b
where rownumber between 當前頁數-1*條數 and 頁數*條數
--offset fetch next方式
--sql2012以上的版本才支援
select * from tablename
order by id offset 頁數 row fetch next 條數 row only
分析:在資料量較大時
top not in方式:查詢靠前的資料速度較快
offset fetch next方式:速度穩定,優於前2種,但sql版本限制2012及以上才可使用
sqlserver三種分頁查詢方法
假設有表student,每頁顯示10條記錄,查詢第5頁的內容。from student where idnotin 40是這麼計算出來的 10 5 1 select top 40 idfrom student order byid order by id原理 需要拿出資料庫的第5頁,就是40 50條...
SqlServer 三種分頁查詢語句
先說好吧,查詢的資料排序,有兩個地方 1 分頁前的排序。2 查詢到當前頁資料後的排序 1 先查詢當前頁碼之前的所有資料id select top 當前頁數 1 每頁資料條數 id from 表名 2 再查詢所有資料的前幾條,但是id不在之前查出來的資料中 select top 每頁資料條數 from...
整理 Elasticsearch 三種分頁方式
目錄 1 from size 淺分頁 from size的原理 2 scroll 深分頁 scroll原理 3 search after 深分頁 search after的原理 淺 分頁可以理解為簡單意義上的分頁。它的原理很簡單,就是查詢前20條資料,然後截斷前10條,只返回10 20的資料。這樣其...