SQL Server 在分頁獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(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ù)量。就是多一個(gè)字段,如果獲取一次數(shù)據(jù)較多的話,會(huì)浪費(fèi)一些流量。
如果使用第一種的話,會(huì)多訪問一次數(shù)據(jù)庫,增加一次數(shù)據(jù)連接的關(guān)閉和打開,會(huì)消耗數(shù)據(jù)庫資源。
第二種方式還是我同事開始使用的,然后我們就這樣使用了。
注意:目前發(fā)現(xiàn)只有sqlserver有,mysql沒有這個(gè)效果,大家如果發(fā)現(xiàn)其他的可以使用
總結(jié)
以上所述是小編給大家介紹的SQL Server 在分頁獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信