Bonjour.
J'ai lu attentivement l'excellentissime tuto Démythifier le GROUP BY Par Roland Bouman -
Cédric Duprez (traducteur), et notamment les chapitres 3 et 4.
Mon problème est exactement celui évoqué dans ces chapitres, mais moi, je voudrais un résultat, pas une erreur.
Je m'explique, en reprenant l'exemple du tuto :
une table messagerie.pet
Mais moi je cherche les animaux nés les premiers de chaque espèce !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 +----------+--------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +----------+--------+---------+------+------------+------------+ | Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Fang | Benny | dog | m | 1990-08-27 | NULL | | Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 | | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | | Puffball | Diane | hamster | f | 1999-03-30 | NULL | +----------+--------+---------+------+------------+------------+
Or la requète suivante :
renvoie ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT species , MIN(birth) -- date de naissance du plus vieil animal par espèce , MAX(birth) -- date de naissance du plus jeune animal par espèce , birth -- date de naissance de ... oh oh...! FROM menagerie.pet
Et il est bien spécifié que c'est normal, et même que l'on ne devrait même pas afficher une colonne qui n'est pas dans le GROUP BY (d'ou les chapitre 5 et 6 : eviter le problème).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 +---------+------------+------------+------------+ | species | MIN(birth) | MAX(birth) | birth | +---------+------------+------------+------------+ | bird | 1997-12-09 | 1998-09-11 | 1998-09-11 | | cat | 1993-02-04 | 1994-03-17 | 1993-02-04 | | dog | 1979-08-31 | 1990-08-27 | 1989-05-13 | | hamster | 1999-03-30 | 1999-03-30 | 1999-03-30 | | snake | 1996-04-29 | 1996-04-29 | 1996-04-29 | +---------+------------+------------+------------+ 5 rows in set (0.00 sec)
Mais mon problème, c'est que justement, j'aimerais bien un résultat !
A vot' bon coeur, M'sieurs Dames.
Pitié pour les rares cheveux qui me restent !
Partager