[sql] group by - having

ozam Messages postés 3 Statut Membre -  
tiralia Messages postés 1901 Statut Membre -
Bonjour,
J'ai un problème dont je n'arrive pas à trouver la solution et je viens vous demander un peu d'aide.

J'ai une liste de famille:

famille
-----------
idFamille
Nom

et des enfants (ainsi que leur taille en cm)
enfant
----------
idEnfant
idFamille
prenom
taille

Je voudrais récupérer la liste de l'enfant le plus grand dans chaque famille.

Avec group by et having, je n'y arrive pas.

Pouvez-vous m'aider ?
Merci.

6 réponses

tiralia Messages postés 1901 Statut Membre 256
 
et en comparant tes variable? si x>y alors tel action...
0
ozam Messages postés 3 Statut Membre
 
Je n'ai pas compris, peut tu préciser tiralia ?
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
SELECT Nom, prénom, MAX(taille)
FROM famille, enfant
WHERE famille.IdFamille = enfant.idFamille
GROUP BY Nom, prénom;
0
tiralia Messages postés 1901 Statut Membre 256
 
fait des conditions pour comparer tes variables.
Va chercher dans ta base de donnée les info, stock les dans des variables, compare les entre elle ( if tailleA > tailleB then ..... else ..... ) enfin je ne sais pas avec quel langage tu travailles, mais tous fonctionnent plus ou moins pareil.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ozam Messages postés 3 Statut Membre
 
@chossette: désolée, mais cette requette, même si elle te retourne 1 enfant par famille et la taille maxi, ne te retourne pas l'enfant le plus grand pour chaque famille.

@tiralia: Tu veut dire récupérer toutes les données de la base et faire ensuite le tri en php (ou autre language) ?
0
tiralia Messages postés 1901 Statut Membre 256
 
ben oui, ça me parait logique, mais comme je ne sais pas de quel langage nous parlons, je ne peux que donner des réponses génériques...
0