Probleme de group by

Nguyen.b Messages postés 7 Date d'inscription lundi 7 novembre 2016 Statut Membre Dernière intervention 24 avril 2017 - 24 avril 2017 à 23:24
Maestro04 Messages postés 10 Date d'inscription vendredi 7 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017 - 7 juil. 2017 à 14:15
Bonjour,
Pour un projet, j'ai une requête suivante à faire: Le client le plus rentable pour chaque publication de journal.
Pour le résultat ,j'aimerais que ce soit :
Nom publication, nom client, prénom client, la somme argent qu'il a dépensé

Pour cela j'ai fait :
NomPU : nom publication
NomC : Nom client
le sum marche très bien , c'est pour calculer le total dépense d'un client

SELECT tab1.NomPU, tab1.NomC, tab1.PrenomC, tab1.NomV max(tab1.[total_depense])

FROM (SELECT   pu.NomPU,cl.NomC, cl.PrenomC, v.NomV ,sum(ab.Nbnum*ab.PrixNumAb) as [total_depense]
             FROM Publication pu, Client cl, Abonner ab, Ville v     
             WHERE ab.CodeC=cl.CodeC
             AND ab.CodePU=pu.CodePU
             AND cl.CodeV=v.CodeV
             GROUP BY pu.NomPU,cl.NomC, cl.PrenomC, v.NomV)  AS tab1;


ça me sort pour chaque publication , tous les clients et leurs dépenses mais je voudrais seulement le client le plus rentable.

J'ai remarqué cela marche seulement si j'enleve le NomC et PrenomC du GROUP BY mais dans ce cas , je n'aurai pas d'information sur le client.

Pourriez vous m'aider en me donnant une façon de faire svp ?
Merci !

2 réponses

jordane45 Messages postés 38170 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 344
25 avril 2017 à 00:40
Bonjour,

en jouant avec un ORDER BY et un LIMIT 1 ?
0
Maestro04 Messages postés 10 Date d'inscription vendredi 7 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
7 juil. 2017 à 14:15
essaye de déclarer le nom de l'attribut que vous voulais grouper avec,puis un étoile.
-1
Rejoignez-nous