sql >> Databasteknik >  >> RDS >> Sqlserver

SQL - Välj den senaste posten när det finns en dubblett

Det finns några sätt att göra det, ett sätt är att använda ROW_NUMBER så här:

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

Detta returnerar raden för varje distinkt id värde som har det senaste datumet.




  1. Hur Hibernate Batch-insättning fungerar?

  2. Python cx_Oracle SQL med bindsträngsvariabel

  3. Optimera iterering genom array med hjälp av foreach loops

  4. Varför är min sökfråga med flera kolumner dramatiskt långsammare än motsvarande frågor med en kolumn, även med ett index med flera kolumner?