Requête SQL

Résolu
Bonjour,

J'ai un petit souci avec une requête SQL, je voudrais faire un top 5 des meilleurs ventes, voici ma table ventes :

CREATE TABLE 'ventes' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'produit_id' int(11) NOT NULL,
'categorie_id' int(11) NOT NULL,
'acheteur_id' int(11) NOT NULL,
'vendeur_id' int(11) NOT NULL,
'prix' int(11) NOT NULL,
'retribution_vendeur' float NOT NULL,
'retribution_site' float NOT NULL,
'date' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;

L'idée est donc de sortir les 5 produits les plus vendus, pour cela j'ai besoin de connaître le classement des 5 "produit_id" qui reviennent le plus souvent dans la table.
Quelqu'un a-t-il une petite idée, merci:)

5 réponses

  1. ah j'en étais pas loin, je crois que c'est ça :

    SELECT produit_id FROM ventes GROUP BY produit_id ORDER BY COUNT(produit_id) DESC LIMIT 0,5
    1. euh rapidement ça doit un truc du genre :

      SELECT produit_id ORDER BY COUNT(produit_id) DESC LIMIT 0,5
      1. Hello supernico,

        Ben j'ai essayé un truc du genre mais cela ne me donne pas les 5 meilleures ventes en les classant par nombres de ventes. Je pense que la requête doit être un peu plus complexe:) J'utilise mysql, il me semble que dans d'autre sgbd il y'a "SELECT TOP 5 ....", tu ne connaîtrais pas un équivalent avec mysql par hasard?
        1. Je t'aime supernico! c'est bien ça, merci beaucoup!
          1. hé doucement avec les déclarations, ma copine va faire une crise de jalousie ! LOL

            content d'avoir pu t'aider ^^ allez hop pour moi c'est dodo maintenant, bon courage pour la suite :D