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
35406
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
356
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