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

Làm thế nào để bao gồm tổng số hàng được trả về trong tập kết quả từ lệnh SELECT T-SQL?

Trong SQL Server 2008 trở lên, hãy thêm COUNT(*) OVER () là một trong các tên cột trong truy vấn của bạn và sẽ được điền với tổng số hàng được trả về.

Nó được lặp lại trong mỗi hàng nhưng ít nhất giá trị có sẵn.

Lý do tại sao nhiều giải pháp khác không hoạt động là đối với các tập kết quả rất lớn, bạn sẽ không biết tổng cho đến khi lặp lại tất cả các hàng, điều này không thực tế trong nhiều trường hợp (đặc biệt là các giải pháp xử lý tuần tự). Kỹ thuật này cung cấp cho bạn tổng số sau khi gọi IDataReader.Read() đầu tiên , chẳng hạn.

select COUNT(*) OVER () as Total_Rows, ... from ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tìm một thủ tục được lưu trữ có chứa <text>?

  2. Tính tổng với RollUP của máy chủ SQL - nhưng chỉ có bản tóm tắt cuối cùng?

  3. Cách loại bỏ tiêu đề cột khi gửi kết quả truy vấn qua email trong SQL Server (T-SQL)

  4. Gọi thủ tục được lưu trữ với giá trị trả về

  5. Truy vấn SQL trong đó Column ='' trả về các ký tự Biểu tượng cảm xúc 🎃 và 🍰