Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1889 connectés 

 


Dernière réponse
Sujet : [SQL] HELP sur une requête SQL
thegti Ah ah ah !!! :lol: :lol:
Je suis arrivé à 7h39 à la gare
et le train à 7h42
en plus place assise
 
Tranquille :)
 
Par contre, ce soir :( :(

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
thegti 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
...
 
Merci d'avance pour votre aide :)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)