Bonjour,
je cherche la requête qui me permet de trouver la valeur la plus longue en nombre de caractère.
Pour être plus clair, voici une table t très simple :
Ce que je voudrais, c'est une requête qui me permet de trouver le nom le plus long et l'age minimum pour chaque équipe, càd que le résultat attendu de la requête doit être ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 id | nom_joueur | age_joueur | equipe_nationale -------------------------------------------------------------------- 1 | zidane | 26 | france 2 | henry | 22 | france 3 | ronaldo | 25 | brésil 4 | cesar | 23 | brésil
Pour l'instant, j'arrive seulement à trouver l'age minimum pour chaque équipe avec cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 zidane | 22 | france => car dans l'équipe de france, le nom le plus long est zidane, et l'age minimum est 22 (détenu par henry) ronaldo | 23 | brésil => car dans l'équipe du brésil, le nom le plus long est ronaldo, et l'age minimum est 23 (détenu par cesar)
Mais je n'arrive pas à trouver en plus le nom le plus long en nombre de caractères pour chaque équipe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select min(age_joueur) from t group by equipe_nationale
Je sais que je dois utiliser max(char_length(nom_joueur)) qui retourne le nombre maximal de caractères du nom (mais pas le nom qui possède ce nombre maximal), mais je n'arrive pas à l'imbriquer dans la requête.
Une idée ? Merci d'avance, cordialement.
Partager