MSAccess – query to return result set of earliest rows with a unique combination of 2 columns

Okay, I had a few minutes to kill:

SELECT Data.* FROM Data WHERE ID IN (
         SELECT TOP 1 ID FROM Data AS D 
         WHERE D.id1=Data.id1 AND D.id2=Data.id2 ORDER BY When);

or

SELECT Data.* FROM Data INNER JOIN (
     SELECT id1, id2, Min(When) AS MW FROM Data 
     GROUP BY id1, id2) AS D
ON Data.When = D.MW AND Data.id1=D.id1 AND Data.id2=D.id2;
ID When id1 id2
2 1/1/2019 4 5
5 1/1/2019 4 4
6 1/1/2021 4 6

Leave a Comment