Bonjour,
J'ai dans ma table des utilisateurs. Pour un utilisateur de même id, il peut y avoir plusieurs entrées avec leurs dates de début et de fin qui peuvent avoir un nom différent, etc. Comme suit :
id nom debut fin
test test1 2002-04-19 2003-04-19
test test2 2003-04-19 2004-04-19
test test3 2004-04-19 2030-01-01
toto toto 2004-04-19 2004-04-19
Je veux pour chaque id différent obtenir les infos de celui qui a la date de fin la plus élevée.
J'ai donc pensé à un MAX sur la date de fin et regroupé sur l'id, tout bêtement, comme suit :SELECT MAX(fin), id, nom, fin, debut
FROM user
GROUP BY id
Quelle ne fut pas ma surprise de voir qu'il récupère bien la date max, mais pas l'id, nom, debut, fin qui correspondent à l'entrée qui a la date max :
MAX( fin ) id nom fin debut
2030-01-01 test test1 2003-04-19 2002-04-19
2004-04-19 toto toto 2004-04-19 2004-04-19
Comment faire pour récupérer non seulement la date max mais aussi les champs qui correspondent à l'entrée de date max, pas ceux d'une entrée au hasard !!??
Partager