SQL: Grupuj według minimalnej wartości w jednym polu, wybierając różne wiersze

Oto, co próbuję zrobić. Powiedzmy, że mam tę tabelę t:

id | record_date | other_cols
18 | 2011-04-03  | x
18 | 2012-05-19  | y
18 | 2012-08-09  | z
19 | 2009-06-01  | a
19 | 2011-04-03  | b
19 | 2011-10-25  | c
19 | 2012-08-09  | d

Dla każdego identyfikatora chcę wybrać wiersz zawierający minimalną datę rekordu. Więc dostanę:

id | record_date | other_cols
18 | 2011-04-03  | x
19 | 2009-06-01  | a

Jedyne rozwiązania, które widziałem w tym problemie, zakładają, że wszystkie wpisy record_date są różne, ale tak nie jest w moich danych. Użycie podzapytania i połączenia wewnętrznego z dwoma warunkami dałoby mi zduplikowane wiersze dla niektórych identyfikatorów, których nie chcę:

id | record_date | other_cols
18 | 2011-04-03  | x
19 | 2011-04-03  | b
19 | 2009-06-01  | a

questionAnswers(7)

yourAnswerToTheQuestion