SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù)
SQL Server 獲取數(shù)據(jù)的總記錄數(shù),有兩種方式:
1.先分頁獲取數(shù)據(jù),然后再查詢一遍數(shù)據(jù)庫獲取到總數(shù)量
2.使用count(1) over()獲取總記錄數(shù)量
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
第二種方式既分頁還能獲取到總記錄數(shù)量。就是多一個字段,如果獲取一次數(shù)據(jù)較多的話,會浪費一些流量。
如果使用第一種的話,會多訪問一次數(shù)據(jù)庫,增加一次數(shù)據(jù)連接的關(guān)閉和打開,會消耗數(shù)據(jù)庫資源。
第二種方式還是我同事開始使用的,然后我們就這樣使用了。
注意:目前發(fā)現(xiàn)只有sqlserver有,mysql沒有這個效果,大家如果發(fā)現(xiàn)其他的可以使用
總結(jié)
以上所述是小編給大家介紹的SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
SQL學(xué)習(xí)筆記六 union聯(lián)合結(jié)果集使用
SQL學(xué)習(xí)筆記六 union聯(lián)合結(jié)果集使用,需要的朋友可以參考下。2011-08-08
清空MSSQL日志 與set recovery simple
清空MSSQL日志 與set recovery simple...2007-10-10
Sql Server中清空所有數(shù)據(jù)表中的記錄
我這里介紹的是刪除數(shù)據(jù)庫的所有數(shù)據(jù),因為數(shù)據(jù)之間可能形成相互約束關(guān)系,刪除操作可能陷入死循環(huán),二是這里使用了微軟未正式公開的sp_MSForEachTable存儲過程2013-10-10
SQL Server利用sp_spaceused如何查看表記錄存在不準(zhǔn)確的情況
這篇文章主要給大家介紹了關(guān)于SQL Server利用sp_spaceused如何查看表記錄存在不準(zhǔn)確情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
c#連接數(shù)據(jù)庫及sql2005遠程連接的方法
這篇文章主要介紹了c#連接sql數(shù)據(jù)庫及sql2005遠程連接的方法,大家參考使用吧2014-01-01

