IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

la liste des 10% des produits les plus vendeurs [MySQL-5.7]


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2019
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2019
    Messages : 35
    Points : 30
    Points
    30
    Par défaut la liste des 10% des produits les plus vendeurs
    Bonjour à vous je suis à la recherche d'une solution à mon problème, je dois lister, la liste des 10% des produits les plus vendeurs.

    Voici une image de ma base de donner.
    Nom : ttttttttttttttt.png
Affichages : 439
Taille : 34,9 Ko


    Ma basse de donné, pour l’installation utiliser la console MySQL
    magasin.sql


    Donc j'ai fais une première requête pour calculer les produits commandés les plus vendu en nombres Descendant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT 
        SUM(PC.produit_commande_quantite) AS quantite, PC.produits_produit_id, P.produit_nom, produit_prix
        FROM produits_commandes AS PC
        INNER JOIN produits AS P ON P.produit_id = PC.produits_produit_id 
        GROUP BY PC.produits_produit_id
        ORDER BY quantite DESC
    la ou cella coince c'est comment je pourrais mis prendre si je veux simplement 10% des produits commandé les plus populaires. est-ce que je dois améliorer ma requête ? faire une sous-requête ou bien faire une fonction dans mon code PHP a l'aide des valeur récupérer de ma requête.

    j'ai besoin de conseil qui pourrait m'éclairer un minimum.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 912
    Points
    38 912
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    si vous avez MySQL 8.0 alors vous pouvez utiliser la fonction NTILE

    https://dev.mysql.com/doc/refman/8.0...criptions.html

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    pas simple... Ce serait plus simple si MySQmerde implémentait toutes les fonctions de fenêtrage comme PERCENTILE_CONT ou PERCENTILE_DISC....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH T AS 
    (
    SELECT  PERCENTILE_CONT (0.1)  WITHIN GROUP ( ORDER BY COUNT(*)  DESC ) AS PERCENTILE_10
    FROM    Ventes
    GROUP   BY Produit
    )
    SELECT Produit, COUNT(*) AS NB
    FROM    Ventes
    GROUP   BY Produit
    HAVING COUNT(*) = (SELECT PERCENTILE_10 FROM T);
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Liste des objets les plus proches
    Par Herevian dans le forum Général Python
    Réponses: 8
    Dernier message: 19/05/2016, 21h59
  2. Réponses: 1
    Dernier message: 30/01/2015, 15h14
  3. Liste des classes les plus utilisées
    Par mayer_450 dans le forum Android
    Réponses: 2
    Dernier message: 20/06/2014, 11h46
  4. Liste des sessions les plus consommatrices
    Par orafrance dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/12/2011, 14h34
  5. Liste des enregistrements les plus récents
    Par calagan99 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/03/2008, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo