Salut à tous,
Voilà, sous MySQL j’ai une table avec un champ DATE qui contient des anniversaires (c’est imporant pour la suite), et je cherche une requête pouvant me classer ces dates d’anniversaire de la plus proche à la plus lointaine et ce à partir de la date du jour.
Exemple :
nom date
Mick 1967-05-19
Tom 1979-07-30
Angel 1929-05-01
Ann 1983-02-12
Olive 1948-05-27
Hugo 1957-01-10
Flam 1989-12-20
Si on est le 10 mai 2005 je voudrais :
nom date
Mick 1967-05-19
Olive 1948-05-27
Tom 1979-07-30
Flam 1989-12-20
Hugo 1957-01-10
Ann 1983-02-12
Angel 1929-05-01
Car l’anniversaire de Mick est le prochain à fêter, suivi de celui d’Olive, Tom, etc. pour finir avec celui d’Angel qui vient de se passer…
Je doit dire que je n’ai pas beaucoup d’idées car je pensais faire un truc du genre :
SELECT (DATE_FORMAT(CURRENT_DATE, “%m”) - DATE_FORMAT(date, “%m”)) as mois, (DATE_FORMAT(CURRENT_DATE, “%e”) - DATE_FORMAT(date, “%e”)) as jours, nom, date FROM anniversaires ORDER BY mois DESC, jours DESC
mais cela me retourne :
nom date
Hugo 1957-01-10
Ann 1983-02-12
Angel 1929-05-01
Mick 1967-05-19
Olive 1948-05-27
Tom 1979-07-30
Flam 1989-12-20
Autrement dit : j’ai réussi le tri mais je ne pars pas du bon endroit…
@++