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

Cách tốt nhất để phân trang kết quả trong SQL Server là gì

Cuối cùng, Microsoft SQL Server 2012 đã được phát hành, tôi thực sự thích sự đơn giản của nó cho một phân trang, bạn không cần phải sử dụng các truy vấn phức tạp như đã trả lời ở đây.

Để nhận được 10 hàng tiếp theo, chỉ cần chạy truy vấn sau:

SELECT * FROM TableName ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;

https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql#using-offset-and-fetch-to-limit-the-rows- trả lại

Những điểm chính cần cân nhắc khi sử dụng:

  • ORDER BY là bắt buộc để sử dụng OFFSET ... FETCH mệnh đề.
  • OFFSET mệnh đề bắt buộc với FETCH . Bạn không thể sử dụng ORDER BY ... FETCH .
  • TOP không thể kết hợp với OFFSETFETCH trong cùng một biểu thức truy vấn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cú pháp không chính xác gần ''

  2. Các phương pháp miễn phí để sửa chữa lỗi chỉ mục máy chủ SQL

  3. Những lầm tưởng về hiệu suất máy chủ SQL có hại, phổ biến

  4. Đệ quy CTE để có được cấu trúc phân cấp cây

  5. Làm thế nào để thực thi một gói SSIS từ .NET?