Voici ce que j'essaie de faire. Disons que j'ai ce tableau t :
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
2 | 18 | 2012-05-19 | y
3 | 18 | 2012-08-09 | z
4 | 19 | 2009-06-01 | a
5 | 19 | 2011-04-03 | b
6 | 19 | 2011-10-25 | c
7 | 19 | 2012-08-09 | d
Pour chaque identifiant, je veux sélectionner la ligne contenant la date d'enregistrement minimale. J'obtiendrais donc
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
4 | 19 | 2009-06-01 | a
Les seules solutions que j'ai vues à ce problème supposent que toutes les entrées record_date sont distinctes, mais ce n'est pas le cas dans mes données. L'utilisation d'une sous-requête et d'une jointure interne avec deux conditions me donnerait des lignes en double pour certains identifiants, ce que je ne veux pas :
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
5 | 19 | 2011-04-03 | b
4 | 19 | 2009-06-01 | a