Bonjour à tous,
la fonction MIN() permet de récupérer la valeur minimale d'une colonne... mais comment afficher les autres colonnes de la (ou les) lignes ainsi retenue ?
Je vois deux solutions "bidouille" mais sans savoir si elles sont propres ou pas... Qu'en pensez-vous ?
Par exemple, dans une table contenant des noms et des dates de naissance, on veut afficher l'individu le plus jeune :
SELECT nom, date_naissance FROM Personne ORDER BY date_naissance ASC LIMIT 1;
SELECT nom, date_naissance FROM Personne WHERE date_naissance=( SELECT MIN(date_naissance) FROM Personne);
Ces deux lignes fonctionnent bien et sont équivalentes... sauf dans le cas où le minium est rencontré pour plusieurs lignes. La solution #1 renverra un individu arbitraire parmi les plus jeunes alors que la solution #2 renverra l'ensemble des individus les plus jeunes.
Voyez-vous plus simple ? Plus rapide ? Plus élégant ?
Merci d'avance pour votre aide 🙂
Donut