Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server:Nur letzter Eintrag in GROUP BY

Eine alternative Lösung, die Ihnen möglicherweise eine bessere Leistung bietet (testen Sie beide Möglichkeiten und überprüfen Sie die Ausführungspläne):

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

Diese Abfrage geht davon aus, dass die ID ein eindeutiger Wert ist (zumindest für einen gegebenen business_key) und auf NOT NULL gesetzt ist.