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

SQL - Chọn bản ghi mới nhất khi có bản sao

Có một số cách để thực hiện, một cách là sử dụng ROW_NUMBER như thế này:

SELECT id, type, date
FROM 
(
    SELECT tb1.id, tb1.type, tb1.Date, 
        ROW_NUMBER() OVER (PARTITION BY tb1.id ORDER BY tb1.Date DESC) AS RowNo
    FROM Table tb1
    WHERE tb1.type IN ('A','B')
) x
WHERE x.RowNo = 1

Điều này sẽ trả về hàng cho từng id riêng biệt giá trị có Ngày mới nhất.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khám phá các tùy chọn chờ khóa ưu tiên thấp trong SQL Server 2014 CTP1

  2. Trục động T-SQL

  3. Làm cách nào để có được Chèn id trong MSSQL trong PHP?

  4. TSQL - Có thể xác định thứ tự sắp xếp không?

  5. Đếm các bản ghi cho mỗi tháng trong một năm