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

¿Cómo obtener los registros distintos según la fecha máxima?

Use la función ROW_NUMBER() y la cláusula PARTITION BY. Algo como esto:

SELECT Id, Name, Date FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY Id ORDER BY Date desc) AS ROWNUM 
    FROM [MyTable]
) x WHERE ROWNUM = 1