Requete sql

Requete sql - SQL/NoSQL - Programmation

Marsh Posté le 07-06-2005 à 15:33:05    

Bonjour
 
 
J'aimerai avoir l'avis de quelqu'un. Je dois afficher le nom du produit le plus vendu dans ma partie admin.
 
tab_commande
 
commande_id
produit_id
 
Comment je peux faire pour savoir le produit_id qui se répéte le plus de fois ?

Reply

Marsh Posté le 07-06-2005 à 15:33:05   

Reply

Marsh Posté le 07-06-2005 à 15:33:42    

count


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-06-2005 à 15:37:56    

et MAX


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 07-06-2005 à 15:38:30    

ah merci beaucoup je vais essayer avec ça

Reply

Marsh Posté le 07-06-2005 à 15:54:45    

J'ai essayé avec ça mais c'est pas tout à fait ce que je veux :
 

Code :
  1. SELECT num_produit, count(num_produit) as test, max(num_produit) as test2
  2. FROM comm_produits
  3. GROUP BY num_produit


Message édité par skynicko le 07-06-2005 à 16:00:57
Reply

Marsh Posté le 07-06-2005 à 16:06:57    

Tu peux faire un truc de ce genre :
 

Code :
  1. select top 1 baseunitassetid, count(assetid) nb
  2. from asset
  3. group by baseunitassetid
  4. order by nb desc

Reply

Marsh Posté le 07-06-2005 à 16:17:03    

Sinon, si tu veux pas de TOP 1, tu peux toujours faire ça (et si t'as des ex-equo), tu peux faire ça :
 

Code :
  1. select baseunitassetid
  2. from asset
  3. group by baseunitassetid
  4. having count(assetid) = (select max(t1.nb)
  5. from
  6. (
  7.    select baseunitassetid, count(assetid) nb
  8.    from asset
  9.    group by baseunitassetid
  10.    ) t1
  11. )

Reply

Marsh Posté le 07-06-2005 à 16:18:33    

J'ai testé, et c'est aussi rapide d'une solution à l'autre.
 
Par contre, je n'ai testé qu'avec 28000 lignes.

Reply

Marsh Posté le 07-06-2005 à 16:22:13    

ça ira merci beaucoup. J'en ai pas des masses

Reply

Sujets relatifs:

Leave a Replay

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