bonjour à tous!
je dispose de 20 produits et de 60 clients. J'aimerais écrire une requête qui me sort les 3 meilleurs clients par produits.
J'ai pu écrire une requête qui me donne le chiffre d'affaire par ordre décroissant par produit et par clients:
ceci me donne le résultat suivant:Code:
1
2
3 select codprod, codcli, sum(montant) as ca from factures group by codprod, codcli order by codprod asc, codcli desc
Citation:
prod_1 ______ cli_6 ______ 3 000 000
prod_1 ______ cli_5 ______ 2 700 000
prod_1 ______ cli_3 ______ 2 550 000
prod_1 ______ cli_9 ______ 2 490 000
prod_1 ______ cli_2 ______ 2 370 000
prod_1 ______ cli_7 ______ 2 290 000
prod_1 ______ cli_1 ______ 2 270 000
prod_1 ______ cli_4 ______ 1 850 000
prod_1 ______ cli_8 ______ 1 650 000
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_2 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
prod_3 ______ --- ______ ---
Quand je met le TOP 3 au debut de la requête, j'ai comme résultat, les 3 lignes correspondant au 3 premiers clients du premier produit alors que je veux avoir par produit, les 3 meilleurs.
Y-a t-il une autre manière d'utiliser le top n de façon à avoir ce que veux?