Stats selon la BDD..

Stats selon la BDD.. - PHP - Programmation

Marsh Posté le 26-07-2007 à 10:58:11    

Le titre n'est peut-être pas clair, j'vais essayer de faire mieux ici :  
 
Imaginons que j'ai une table 'voitures_vendues' avec des champs 'marques', 'couleur' & 'moteur'
Je souhaite faire une page de statistiques où j'aimerai afficher la marque de voiture la plus vendue...
 
Moi ce que j'aurai fait c'est plusieurs requêtes qui vont me récuperer pour chaque marque le nombre de voitures vendues  
et ensuite comparer ces différents résultats pour récupérer le plus grand...
 
Mais j'ai l'impression que ça va me faire beaucoup de code pour rien, vous ne voyez pas une autre façon plus "simple" de faire ?
 
Merci :jap:


---------------
"...mais toujours dans la bonne direction" - FeedBack
Reply

Marsh Posté le 26-07-2007 à 10:58:11   

Reply

Marsh Posté le 26-07-2007 à 11:21:00    

tu ne connais pas la fonction MAX() en SQL :??:

Reply

Marsh Posté le 26-07-2007 à 11:35:03    

Si bien sur, mais là ça va me servir à rien...
J'vais reprendre mon exemple, et tu m'diras si j'me trompe (pour MAX) :  
 
table voitures_vendues :
1 peugeot rouge essence
2 peugeot noir diesel
3 renault gris diesel
 
Donc ce que j'veux récupérer c'est le type de voiture le plus vendu et ici c'est 'peugeot'
J'peux pas faire ça avec MAX() ?  
ou alors je ne connais pas cet aspect de MAX()  
 
Pour moi MAX() permet de récupérer une valeur maximum d'un champ, c'est pas ce que je souhaite ici...


---------------
"...mais toujours dans la bonne direction" - FeedBack
Reply

Marsh Posté le 26-07-2007 à 11:37:03    

s'pas si simple rufo :o
En fait il doit déjà avoir un count sur "voitures_vendus" groupés par marque.
Du coup le max(count(...)) ça va moyen le faire .

 

Vu que tu as mis ce post dans php, j'en déduis que tu dois te servir de mysql.
Quelle version? (c'est important vu que cela conditionne l'utilisation de sous-requêtes par exemple).

 

edit: ... burned ... mais j'avais bien compris.

 

edit2: si tu utilises mySQL, le plus simple c'est de faire
select ... , count(...) from ... where ... group by ... order by count(...) desc limit 1


Message édité par anapajari le 26-07-2007 à 11:39:03
Reply

Marsh Posté le 26-07-2007 à 11:55:54    

Super, j'te remerci anapajari ta requête marche nickel

 

:jap:


Message édité par Zyente le 26-07-2007 à 11:56:18

---------------
"...mais toujours dans la bonne direction" - FeedBack
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed