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

SQL Server:Chỉ mục nhập cuối cùng trong GROUP BY

Một giải pháp thay thế, có thể mang lại cho bạn hiệu suất tốt hơn (thử nghiệm cả hai cách và kiểm tra kế hoạch thực hiện):

SELECT
     T1.id,
     T1.business_key,
     T1.result
FROM
     dbo.My_Table T1
LEFT OUTER JOIN dbo.My_Table T2 ON
     T2.business_key = T1.business_key AND
     T2.id > T1.id
WHERE
     T2.id IS NULL

Truy vấn này giả định rằng ID là một giá trị duy nhất (ít nhất là đối với bất kỳ business_key nhất định nào) và nó được đặt thành NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điều kiện có điều kiện trong SQL Server

  2. Chèn hàng loạt với bộ định tính văn bản trong SQL Server

  3. SQL Server - Tăng tự động cho phép các câu lệnh CẬP NHẬT

  4. Ví dụ về Chuyển đổi "date" thành "datetime2" trong SQL Server (T-SQL)

  5. Làm thế nào để so sánh nếu hai chuỗi chứa các từ giống nhau trong T-SQL cho SQL Server 2008?