91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 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

长岛县| 安徽省| 威信县| 双桥区| 建阳市| 大冶市| 朝阳市| 天祝| 蓝山县| 亳州市| 海南省| 西宁市| 集贤县| 永寿县| 凤凰县| 东明县| 灵丘县| 宁夏| 华宁县| 鹰潭市| 翼城县| 扎兰屯市| 乌拉特后旗| 礼泉县| 石嘴山市| 延津县| 安仁县| 新乡市| 吉林市| 临沂市| 富平县| 宜良县| 临沭县| 方山县| 南溪县| 若尔盖县| 常宁市| 于都县| 五原县| 灵武市| 广饶县|