sql >> Database >  >> RDS >> Sqlserver

SQL Server:Alleen laatste invoer in GROUP BY

Een alternatieve oplossing die u mogelijk betere prestaties geeft (test beide manieren en controleer de uitvoeringsplannen):

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

Deze query gaat ervan uit dat de ID een unieke waarde is (tenminste voor een bepaalde business_key) en dat deze is ingesteld op NOT NULL.



  1. PHP-functie om een ​​veldwaarde uit een database te extraheren

  2. SQL SELECTEER alles na een bepaald teken

  3. NULL retourneren met WHERE IN

  4. mysql volgorde op naam asc ingore leidt 'de'