sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:solo la última entrada en GROUP BY

Una solución alternativa, que puede brindarle un mejor rendimiento (pruebe en ambos sentidos y verifique los planes de ejecució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

Esta consulta asume que el ID es un valor único (al menos para cualquier business_key dado) y que está establecido en NOT NULL.