Ah ah ah !!! :lol: :lol:
Je suis arrivé à 7h39 à la gare
et le train à 7h42
en plus place assise
Tranquille :)
Par contre, ce soir :( :(
wouatouwouatou
Je vois ke les sub-select sont ta specialite thegti !!! :D:D:D
p.s: T'as vu ce matin... pas un train avt 11h20
thegti
select TMP.nom, TMP.somme
from
(select
nom = nom_client, somme = sum(montant_facture)
from tbl_facture
group by nom) TMP order by TMP.somme desc
Fred999
Bon, sur ce que j'ai pu voir en SQL version Oracle et Sybase, l'order by devrait se faire sur ton sum(montant_facture).
Mais il semble que MySQL prenne certaines libertés vis-à-vis des standards...
Fred999
wouatouwouatou a écrit a écrit :
a mon avis c a cause du group by kil foire... c ptetre paske ta des client ki nont pas de factures...
Sinon, dans le desespoir, essaye sum(facture)+1 ce ki ne devrai pas marcher mais bon, qd on desespere... on n'a plus rien a perdre. :D
waoutou... Dans sa table, tu n'as que deux champs : le client et le montant de la facture. Donc, forcément, le champ "montant" est renseigné...
Sinon, si effectivement tu as raison, alors il faudrait faire un sum (isnull(montant, 0)) pour remplacer toutes les valeurs NULL par des 0.
Ceci dit, Edwige, je te conseille de contacter notre MySQL Master, joce lui-même.
wouatouwouatou
a mon avis c a cause du group by kil foire... c ptetre paske ta des client ki nont pas de factures...
Sinon, dans le desespoir, essaye sum(facture)+1 ce ki ne devrai pas marcher mais bon, qd on desespere... on n'a plus rien a perdre. :D
Edwige
marche pas, marche pas, marche pas :(
Fred999
Dans le genre "mééthode vaudou" :
Tu peux essayer les alias :
select "nom" = nom_client,
"somme" = sum(montant_facture) from tbl_facture group by nom
order by somme desc
Aucune garantie que ça marche.
Le SQL est un langage somme toute très relatif :D
Edwige
C'est du MySQL.
Une petite remarque: j'ai essayé ORDER BY montant_facture desc et ça ne plante pas. Par contre, ce n'est pas vraiment le résultat que j'attends.
ddr555
Ajoute une condition where :
where montant_facture <> 0
omega2
T'utilises quelle base de donnée? (elles ne gèrent pas toutes les requêtes de la même manière.
Edwige
le message d'erreur n'a pas bougé d'un iota :(
wouatouwouatou
essayes de faire un
order by sum(montant+1) desc
voire si ca marche...
Edwige
J'ai essayé avec et sans le ORDER BY sum(montant_facture) desc.
Sans, ça marche.
Avec, ça me met l'erreur : 0 is not a MySQL result index Quelle modification dois-je apporter à ma table pour que ça marche?
Edwige
Un grand merci à toi :)
instantdharma
j'oubliais :
pour trier mar montant descendant, tu ajoutes
order by sum(montant_facture) desc
instantdharma
select
nom_client
,sum(montant_facture)
from tbl_facture
group by nom_client
attention, problème si nom_client n'est pas l'identificateur du client ; ds ce cas, tu cumules les montants de homonymes
Edwige
Imaginons une table tbl_facture avec deux champs: Nom_client et Montant_facture. Un client peut être référencé plusieurs fois dans la table (i.e. il peut avoir plusieurs factures).
Quelle est la requête qui me permettrait d'avoir la liste DESCENDANTE des SOMMES des Montant_facture par Nom_client ?
Par exemple comme résultat :
Dupont 12.340
Perrin 11.988
Martin 10.877
Olivier 8.255
Marc 6.500
...