日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


作為程序員來說,與數據庫打交道是十分頻繁的分頁查詢是一個開發者必須掌握的基本知識點,目前整理了下面三種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

分享到:
標簽:分頁 查詢
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定