Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhận một tập hợp con các bản ghi cùng với Tổng số bản ghi

Đây là những gì tôi đã làm (và nó cũng nhanh chóng, bất kể tôi trả lại hồ sơ nào):

--Parameters include:
@pageNum int = 1,
@pageSize int = 0,



DECLARE 
    @pageStart int,
    @pageEnd int

SELECT
    @pageStart = @pageSize * @pageNum - (@pageSize - 1),
    @pageEnd = @pageSize * @pageNum;


SET NOCOUNT ON;
WITH tempTable AS (
    SELECT
        ROW_NUMBER() OVER (ORDER BY FirstName ASC) AS RowNumber,
        FirstName
        , LastName
    FROM People
    WHERE Active = 1
)

SELECT
    (SELECT COUNT(*) FROM tempTable) AS TotalRows,
    *
FROM tempTable
WHERE @pageEnd = 0
OR RowNumber BETWEEN @pageStart AND @pageEnd
ORDER BY RowNumber


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java JDBC:ngày nghỉ hai ngày liên tục

  2. Giải pháp thay thế cho con trỏ để lặp sql là gì?

  3. 🆕 Cái nhìn đầu tiên của SQL Server 2022 - 5 tính năng mới hàng đầu (Tặng thêm 5 tính năng)

  4. Kết quả được phân tách bằng dấu phẩy trong SQL

  5. Cách tạo thêm câu lệnh cột cho tất cả các bảng trong cơ sở dữ liệu trong SQL Server - Hướng dẫn sử dụng SQL Server / T-SQL Phần 49