這篇文章將為大家詳細(xì)講解有關(guān)SQL Server在分頁如何實(shí)現(xiàn)獲取數(shù)據(jù)的同時獲取到總記錄數(shù),小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司致力于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇成都創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
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ù)較多的話,會浪費(fèi)一些流量。
如果使用第一種的話,會多訪問一次數(shù)據(jù)庫,增加一次數(shù)據(jù)連接的關(guān)閉和打開,會消耗數(shù)據(jù)庫資源。
第二種方式還是我同事開始使用的,然后我們就這樣使用了。
注意:目前發(fā)現(xiàn)只有sqlserver有,MySQL沒有這個效果,大家如果發(fā)現(xiàn)其他的可以使用
關(guān)于“SQL Server在分頁如何實(shí)現(xiàn)獲取數(shù)據(jù)的同時獲取到總記錄數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。