Vous n'êtes pas identifié(e).
hello !
je sèche un peu et j'ai besoin d'aide
j'ai trois colonne : homme femme autre
et je cherche a faire une sélection du plus grand résultat de leur total a chaque ligne.
exemple :
homme femme autre
20 32 5
15 23 6
58 2 15
18 45 4
le resultat sera : ligne 3 donc il me retourne cette ligne.
j'ai tenté :
SELECT DAY(date) AS jour, date as date , MAX(femme) as femme, MAX(homme) AS homme, MAX(autre) AS autre FROM stat_player WHERE YEAR(date) = $postYear and MONTH(date) = $postMonth GROUP BY jour
mais forcément j'aurais comme résultat : femme ligne 4 , homme ligne 3 , autre ligne 3
et autre tentative non concluante :
SELECT DAY(date) AS jour, date as date , MAX((femme as femme + homme AS homme + autre AS autre)) FROM stat_player WHERE YEAR(date) = $postYear and MONTH(date) = $postMonth GROUP BY jour
merci de votre aide !
Jiinn
Dernière modification par Jiinn (24-01-2010 01:42:34)
Hors ligne
Je ne vois pas comment faire cela en SQL.
Personnellement j'aurais récupéré les trois colonnes et ensuite en PHP pour chaque enregistrement retourné j'aurais pris le max.
Après peut être que quelqu'un te donnera une solution SQL. ^^
Hors ligne
coucou,
effectivement, je serais moi aussi passé par une solution de sélection par du php...ce qui a aussi l'avantage de rendre moins lourde ta requête
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
SELECT @max_homme:=max(homme),@max_femme:=MAX(femme),@max_autre:=MAX(autre) FROM stat_player;
voilou,, comme ca, y a plus que 3 valeur à comparé
j'vous laisse faire pour le reste
a++
Hors ligne
j'avais mal compris la question
je rectifie
select (homme)+(femme)+(autre)) as maxxx from stat_player order by maxxx desc limit 1
a++
Hors ligne
Saluton,
Plusieurs choses :
Comme souvent déjà dit donner un mot réservé SQL (date) comme nom de colonne d'une table n'est pas très avisé.
GROUP BY doit être utilisé avec prudence, la corrélation entre les colonnes soumises à une fonction et les autres colonnes, surtout si elles ne font pas partie de la clause GROUP BY, n'a généralement pas de sens.
Ici, il faut passer par une sous-requête
Il doit y avoir une solution en autojointure....mais c'est dimanche
[edit]un copier-coller un peu rapide dans la dernière condition du WHERE de la requête principale[/deit]
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
hello merci pour ces reponse,
Maljuna je n'arrive pas a appliquer cette requete, pierrot je cherche dans ton sens.
Hors ligne