[sql] group by - having

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

  1. et en comparant tes variable? si x>y alors tel action...
    0
    1. Je n'ai pas compris, peut tu préciser tiralia ?
      0
      1. Contributeur
        SELECT Nom, prénom, MAX(taille)
        FROM famille, enfant
        WHERE famille.IdFamille = enfant.idFamille
        GROUP BY Nom, prénom;
        0
        1. 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
          1. @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
            1. 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