Sqlserver 数据库分页查询(三种方式)
--第一種分頁:sqlserver 2000-sqlserver2005
--假設:每頁顯示5條, 當前頁:1 ?則查詢1-5
--不等于前5條的前5條
select top 5 * from ?Student
where StuNo not in(select top 5 StuNo from ?Student)
--第二種分頁查詢: sqlserver 2008-sqlserver2012
select * from Student
-- row_number()over() ?組合函數,給查詢結果創建行號 (偽列)
declare?
@pageIndex int=1,@pageSize int =5,---用戶參數,定義頁碼和每頁數量
@startIndex int,@endIndex int--查詢參數
set @startIndex=(@pageIndex-1)*@pageSize+1 --開始位置
set @endIndex=@pageIndex*@pageSize --結束位置
select * from?
(
? select ROW_NUMBER()over(order by StuNo asc) id,* ?from ?Student
)Student
where id between @startIndex and @endIndex
--第三種分頁查詢: sqlserver 2012-sqlserver2021 (最新-推薦使用)
?select * from Student
---查詢篩選:offset 1 rows 從多少開始
--- ? ? ? ? ?fetch next 5 ?選擇多少條數據
--- ? ? ? ? rows only
declare ---用戶參數
@pageIndex3 int=1,---定義頁碼
@pageSize3 int =5,---定義每頁數量
@startIndex3 int --查詢參數
set @startIndex3=(@pageIndex3 -1)*@pageSize3 --計算開始位置
select * from Student
order by StuNo asc
offset @startIndex3 rows
fetch next @pageSize3
row only
?
總結
以上是生活随笔為你收集整理的Sqlserver 数据库分页查询(三种方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高精度DAC功能板
- 下一篇: 中国人民大学赵鑫:AI 科研入坑指南