WITH CTE AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY name ORDER BY date DESC) AS rowNumber FROM mytable ) SELECT * FROM CTE WHERE rowNumber = 1