Page 1 sur 1

Requête SQL

Posté : 26 févr. 2007, 04:35
par dick-perron
Bonjour tout le monde. J'ai un petit problème. Je suis sûr que la réponse est très simple mais je ne trouve pas pour l'instant. Voilà le problème:
voila la requète SQL que je fais:
SELECT code_permanent, SUM(devoir), SUM(retard), SUM(materiel), SUM(cigarette), SUM(flanage), SUM(comportement)
FROM rapports
GROUP BY code_permanent
ORDER BY 'SUM(devoir)' DESC
cela me donne quelque chose comme :
code_permanent SUM( devoir ) SUM( retard ) SUM( materiel ) SUM( cigarette ) SUM( flanage ) SUM( comportement )
LAFV12099005 1 2 1 3 0 0
BASF09559116 7 0 0 1 0 2
GIRJ22038804 1 1 0 0 0 2
BELM09079007 5 0 2 1 0 0
MESE21108900 0 0 0 1 0 0
BASF09559105 2 0 3 1 0 1
Ma question est la suivante:
peut-on avoir, dans une seule requête, le total des rangées ce qui donnerait
LAFV12099005 7 ->(1+2+1+3+0+0)
BASF09559116 10
GIRJ22038804 4

Merci de votre aide

Posté : 26 févr. 2007, 05:29
par Hubert Roksor
Ton ORDER BY est incorrect, si tu mets des guillemets alors tu ne te réfères pas à une colonne ou une expression, tu représentes une simple chaîne de caractères (donc ça représente la même valeur pour toutes les lignes). Donne un alias à la somme et utilise l'alias dans le ORDER BY

Code : Tout sélectionner

SELECT code_permanent, SUM(devoir) AS total_devoir, SUM(retard), SUM(materiel), SUM(cigarette), SUM(flanage), SUM(comportement) FROM rapports GROUP BY code_permanent ORDER BY total_devoir DESC

Posté : 26 févr. 2007, 05:33
par dick-perron
Je viens de réussir. L'astuce était pourtant très simple:
$rq = "SELECT code_permanent, SUM( devoir + materiel + comportement + cigarette + flanage + retard + expulsion ) AS total FROM rapports GROUP BY code_permanent ORDER BY 'total' DESC ";
Fallait y penser.

Merci à ceux qui se sont penché sur mon problème.

Posté : 26 févr. 2007, 08:44
par Cyrano
Modération :
dick-perron, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

Posté : 26 févr. 2007, 15:57
par dick-perron
Désolé, c'est un oubli! Je comprends l'importance de l'afficher et je l'affiche toujours. Merci pour ce site qui me rend de précieux services :wink: