Bonjour,
J'utilise mysql et une partie de mon schéma est le suivant:
Je dispose d'une vue consistant à déterminer le client ayant émis le plus grand nombre de commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE `client` ( `clinum` bigint(20) NOT NULL, `clinom` varchar(20) NOT NULL, `cliadr` varchar(30) NOT NULL, `clivil` varchar(20) NOT NULL, PRIMARY KEY (`clinum`) ) CREATE TABLE `commande` ( `comnum` bigint(20) NOT NULL, `comdat` date NOT NULL, `clinum` bigint(20) NOT NULL, PRIMARY KEY (`comnum`) )
Cependant, je dois absolument trouver une alternative à la vue suivante:
Ensuite j'utilise la vue afin de déterminer le client ayant passer le plus grand nombre de commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 create view nbcomcli (num, nbre) as select clinum, count(*) from commande group by clinum
**************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select clinum, clinom, nbre from client, nbcomcli where clinum = num and nbre = (select max(nbre) from nbcomcli)
J'ai essayé ce code sans succès:
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select clinum, clinom, max(nb) from (select clinum, count(*) from commande group by clinum) as nb from client
Partager