SELECT YourTable.*; from YourTable; INNER JOIN (SELECT YourTable.Id, YourTable.DateSaved max(YourTable.TimeSaved) as MaxTime FROM YourTable INNER JOIN (SELECT Id, MAX(DateSaved) AS DateSaved FROM YourTable GROUP BY Id) Tbl1 ON YourTable.Id = Tbl1.Id AND YourTable.DateSaved = Tbl1.DateSaved); GROUP BY YourTable.Id, YourTable.DateSaved) sql ; on YourTable.ID = sql.ID and YourTable.DateSaved = sql.DateSaved and YourTable.TimeSaved = sql.MaxTime