SQL Server 獲取數據的總記錄數,有兩種方式: 1.先分頁獲取數據,然後再查詢一遍資料庫獲取到總數量 2.使用count(1) over()獲取總記錄數量 第二種方式既分頁還能獲取到總記錄數量。就是多一個欄位,如果獲取一次數據較多的話,會浪費一些流量。 如果使用第一種的話,會多訪問一次資料庫 ...
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沒有這個效果,大家如果發現其他的可以使用,可以評論。3Q.