You can use one or the other of the following. If you have just these three columns in the table, the first one using the MAX function may be better. If you have additional columns that you want to bring in that correspond to the row with the max date, the second approach can be adapted to accommodate that:-- 1SELECT a.ID, a.Name, MAX(a.Date) AS [Date]FROM YourTable aGROUP BY a.ID, a.Name;-- 2SELECT a.ID, a.Name, b.DateFROM YourTable a CROSS APPLY ( SELECT TOP 1 c.Date FROM YourTable c WHERE c.Name = a.Name AND c.Id = a.Id ORDER BY c.Date DESC ) b;