亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • SQL Server存儲過程中怎么同時返回分頁結果集和總數

SQL Server存儲過程中怎么同時返回分頁結果集和總數

發布時間:2021-08-05 14:43:13 來源:億速云 閱讀:518 作者:Leah 欄目:數據庫

這期內容當中小編將會給大家帶來有關SQL Server存儲過程中怎么同時返回分頁結果集和總數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、內核層,通常也就是要查詢的字段或者要計算的字段,這部分單獨拿出來。

 2、查詢條件層。 如果內核只是查詢一些字段的話,條件可以放在查詢條件層拼接。 如果內核層完全是統計業務邏輯,那么查詢條件則必須要放在內核層,像我們常用的SUM、GROUPBY 業務。 

3、添加分頁參數(也就是我們現在多數用的ROW_NUMBER添加rn參數)。 存儲過程里我們一般會單獨聲明每個部分的變量用于執行時拼接。

存儲過程

CREATE proc [dbo].[usp_manyidu]( @seatno nvarchar(30), @pageIndex int, @pageSize int, @rsCount int out)asbegin declare @sql nvarchar(max)  --拼接內核SQL declare @where nvarchar(max)=' where 1=1' --查詢條件拼接字符串 declare @cols nvarchar(max)  --查詢字段、計算字段 declare @sort nvarchar(50)  --排序   set @sql=' from dbo.log where seatno is not null and seatno<>'''' group by seatno ' set @cols='seatno,SUM(case when manyidu=0 then 1 else 0 end) as manyi,      SUM(case when manyidu=1 then 1 else 0 end) as yiban,      SUM(case when manyidu=2 then 1 else 0 end) as bumanyi,      SUM(case when manyidu IS null or manyidu='''' then 1 else 0 end) as weipingjia'   set @sort='order by seatno'   if(@seatno <>'')  set @where+=' and seatno='+@seatno      declare @strSQL nvarchar(max)   set @strSQL=N'select * from (select ROW_NUMBER() over('+@sort+') as tmpid,* from( select * from (select '+@cols+@sql+') as tmpTable1'+@where+') as tmpTable2) as tmpTable3'    +' where tmpid between '+STR((@pageIndex-1)*@pageSize+1)+' and '+STR(@pageIndex*@pageSize) print @strSQL exec(@strSQL)    set @strSQL='select @total=count(*) from (select '+@cols+@sql+') as tmpTable'+@where   print @strSQL exec sp_executesql @strSQL,N'@total int out',@total=@rsCount out     endGO

上述就是小編為大家分享的SQL Server存儲過程中怎么同時返回分頁結果集和總數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

察雅县| 新昌县| 兴城市| 司法| 宁武县| 厦门市| 揭阳市| 逊克县| 永昌县| 新乐市| 兴海县| 安陆市| 西藏| 民权县| 广南县| 丰镇市| 夏河县| 沁源县| 江门市| 广河县| 锡林郭勒盟| 阳新县| 嵩明县| 永平县| 伊宁县| 尖扎县| 敦煌市| 正安县| 呈贡县| 凤庆县| 中江县| 莆田市| 托克逊县| 大连市| 晋宁县| 通许县| 土默特左旗| 抚松县| 宜宾市| 页游| 老河口市|