Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server:Apenas última entrada em GROUP BY


Uma solução alternativa, que pode lhe dar um melhor desempenho (teste nos dois sentidos e verifique os planos de execução):
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

Essa consulta pressupõe que o ID seja um valor exclusivo (pelo menos para qualquer business_key) e que esteja definido como NOT NULL.