MS SQL 兩種分頁

来源:http://www.cnblogs.com/tongyi/archive/2016/01/14/5129616.html
-Advertisement-
Play Games

------ row number ---------------- row number ----------declare @pageSize int,@pageIndex intset @pageSize = 20;set @pageIndex = 2select * from (SELECT...



------ row number ----------

------ row number ----------

declare @pageSize int,@pageIndex int
set @pageSize = 20;set @pageIndex = 2
select * from (
SELECT ROW_NUMBER()  OVER(ORDER BY Byod_ZZFP.ID DESC) as rowID
,Byod_ZZFP.* from Byod_ZZFP  where 1=1 
)T  
where (rowID > @pageSize * (@pageIndex - 1)  and rowID <=  @pageSize * (@pageIndex)) order by ID desc 

-- CTE表達式 --
declare @pageSize int,@pageIndex int
set @pageSize = 20;set @pageIndex = 2;
 
with T as
(
  SELECT ROW_NUMBER()  OVER(ORDER BY Byod_ZZFP.ID DESC) as rowID
  ,Byod_ZZFP.* from Byod_ZZFP  where 1=1   
)
select * from T
where (rowID > @pageSize * (@pageIndex - 1)  and rowID <=  @pageSize * (@pageIndex)) order by ID desc 

------ max/min ----------

CREATE PROC [dbo].[uspLGetSolutionList]
@pageSize INT, --頁碼大小 
@pageIndex INT, --頁碼
@strWhere nvarchar(2000)='',
@totalRecordCount INT OUTPUT --總記錄數

AS
DECLARE @strSql NVARCHAR(MAX) --sql語句
DECLARE @sqlcount INT    --返回總記錄
DECLARE @strSqlCount NVARCHAR(MAX) --sql語句1,總記錄數語句
DECLARE @tempSql NVARCHAR(MAX) --查詢欄位
DECLARE @temTableOn NVARCHAR(2000) --表連接及表連接關係
DECLARE @order NVARCHAR(500) --排序

SET @tempSql = ' NetworkCutover.ID '
SET @temTableOn = ' NetworkCutover NetworkCutover
inner join Member Member on NetworkCutover.DutyMember = Member.MemberID 
 '
SET @strSql = ' ';
SET @order = ' ORDER BY NetworkCutover.ID desc '
IF(@pageIndex <= 1)
  BEGIN
    SET @strSql = 'SELECT TOP '+STR(@pageSize) + @tempSql +' FROM ' + @temTableOn + ' WHERE 1=1 ' + @strWhere + @order;
  END
ELSE
  BEGIN
    SET @strSql = 'SELECT TOP '+STR(@pageSize)+@tempSql +' FROM '+@temTableOn +' WHERE NetworkCutover.ID < (SELECT MIN(T.ID) FROM (SELECT TOP '+STR(@pageSize*(@pageIndex-1))+' NetworkCutover.ID FROM '+@temTableOn+' WHERE 1=1 '+@strWhere +@order +') T)'+@strWhere+ @order
  END
  print @strSql
  SET @strSqlCount='SELECT @sqlcount=COUNT(*) FROM '+@temTableOn+' WHERE 1=1 '+@strWhere
  print @strSqlCount
EXEC SP_EXECUTESQL @strSqlCount,N'@sqlcount INT OUTPUT',@sqlcount OUTPUT
  SET @totalRecordCount=@sqlcount
  EXEC(@strSql)
  
GO
View Code

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Xcode中的常用快捷鍵
  • 懶載入又叫延遲載入,他有兩個好處,第一:當使用時才載入,而不是一開始就載入,為CPU節省時間做其他的事情,第二:記載之前會判斷數據是否為空,如果空是空的才去載入,避免了重覆載入數據,系統可能會清理記憶體使數組為空,這樣確保數組不為空 有時plist文件不是一層可能兩層甚至多層,記住先建小模型,究竟如....
  • 管理MySQL資料庫最簡單和最便利的方式是PHP腳本。運行PHP腳本使用HTTP協議和android系統連接。我們以JSON格式編碼數據,因為Android和PHP都有現成的處理JSON函數。下麵示例代碼,根據給定的條件從資料庫讀取數據,轉換為JSON數據。通過HTTP協議傳給android,and...
  • 在iOS開發過程中經常需要與伺服器進行數據通訊,Json就是一種常用的高效簡潔的數據格式。問題現象但是幾個項目下來一直遇到一個坑爹的問題,程式在獲取某些數據之後莫名崩潰。其實很早就發現了原因:由於伺服器的資料庫中有些欄位為空,然後以Json形式返回給客戶端時就會出現這樣的數據:?1"somevalu...
  • 1、建立一個drawable文件list_divider.xml 2、設置listView的divider的樣式//必須帶上,否則不顯示
  • 本文是特效界面設計,在美圖秀秀的特效模塊主要是實現圖片添加濾鏡效果,界面挺炫的。界麵包含黑邊和虛化按鈕,4種類型的濾鏡,每種類型又包含許多具體濾鏡效果,當我們點擊時候開始處理圖片1.載入圖片self.imageView = [[UIImageView alloc] initWithImage:s.....
  • 其中加了一些動畫2016-01-13其中主要的方法有:Demo下載地址,Demo中有介紹:https://github.com/lizhaojie001/UIview.git
  • 當 Redis 作為緩存使用時,當你添加新的數據時,有時候很方便使 Redis 自動回收老的數據。LRU 實際上是被唯一支持的數據移除方法。Redis 的 maxmemory 指令,用於限制記憶體使用到一個固定的容量,也包含深入探討 Redis 使用的 LRU 演算法,一個近似準確的 LRU。maxme...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...