本文通過兩種方法給大家介紹SQL Server 在分頁獲取數據的同時獲取到總記錄數,感興趣的朋友跟隨腳本之家小編一起學習吧。
SQL Server 獲取數據的總記錄數,有兩種方式:
1.先分頁獲取數據,然后再查詢一遍數據庫獲取到總數量
2.使用count(1) over()獲取總記錄數量
SELECT
*
FROM
(
SELECT
ROW_NUMBER() OVER(
ORDER
BY
Id
DESC
) rn,
COUNT
(1) OVER()
AS
TotalCount,
Id
FROM
dbo.T_User
)a
WHERE
a.rn
BETWEEN
1
AND
5
第二種方式既分頁還能獲取到總記錄數量。就是多一個字段,如果獲取一次數據較多的話,會浪費一些流量。
如果使用第一種的話,會多訪問一次數據庫,增加一次數據連接的關閉和打開,會消耗數據庫資源。
第二種方式還是我同事開始使用的,然后我們就這樣使用了。
注意:目前發現只有sqlserver有,MySQL沒有這個效果,大家如果發現其他的可以使用
總結
以上所述是小編給大家介紹的SQL Server 在分頁獲取數據的同時獲取到總記錄數,希望對大家有所幫助,
分享到:
投訴收藏