日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库:SQLServer分页查询整理

發布時間:2023/12/10 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库:SQLServer分页查询整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為程序員來說,與數據庫打交道是十分頻繁的分頁查詢是一個開發者必須掌握的基本知識點,目前整理了下面三種SQLServer分頁查詢語句的寫法,僅供參考。

一、Top Not IN 方式(查詢靠前的數據較快)

語法格式:

select top 條數 * from tablename where Id not in (select top pageSize*(pageIndex-1) Id from tablename)

示例:

SELECT TOP 2 * FROM Users WHERE Id NOT IN (SELECT TOP 2 Id FROM Users)

二、ROW_NUMBER()?OVER()方式 ?(查詢靠后的數據速度比上一種較快)

語法格式:

SELECT * FROM (SELECT *, ROW_NUMBER() OVER(Order by Id ) AS RowNumber from tablename ) as b where RowNumber between pageIndex-1*pageSize and pageIndex*pageSize

示例:

SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber FROM Users ) as b where RowNumber BETWEEN 0 and 5

三、offset?fetch?next方式 (速度優于前兩者,限制Sql2012版本以上可以使用)

語法格式:

select * from tablename order by Id offset pageIndex row fetch next pageSize row only

示例:

select?*?from?Users???order?by?Id?offset?2?row?

fetch?next?5?row?only???

四、分頁存儲過程

create PROCEDURE GetPageData ( @TableName varchar(30),--表名稱 @IDName varchar(20),--表主鍵名稱 @PageIndex int,--當前頁數 @PageSize int--每頁大小 ) AS IF @PageIndex > 0 BEGIN set nocount on DECLARE @PageLowerBound int,@StartID int,@sql nvarchar(225) SET @PageLowerBound = @PageSize * (@PageIndex-1) IF @PageLowerBound<1 SET @PageLowerBound=1 SET ROWCOUNT @PageLowerBound SET @sql=N'SELECT @StartID = ['+@IDName+'] FROM '+@TableName+' ORDER BY '+@IDName exec sp_executesql @sql,N'@StartID int output',@StartID output SET ROWCOUNT 0 SET @sql='select top '+str(@PageSize) +' * from '+ @TableName+' where ['+@IDName+'] >='+ str(@StartID) +' ORDER BY ['+@IDName+'] ' EXEC(@sql) set nocount off END

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

總結

以上是生活随笔為你收集整理的数据库:SQLServer分页查询整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。