Exercice 60 / 60

Projet final — Top 5 des produits qui rapportent le plus

Projet final : trouve les 5 produits qui rapportent le plus d'argent. La table order_items contient une ligne par produit commandé (colonnes product_id, quantity, price). Pour chaque produit (regroupe par product_id), calcule deux colonnes : total_quantite = la quantité totale vendue (somme de quantity), et chiffre_affaires = l'argent total généré (somme de quantity × price). Affiche seulement les 5 produits au plus gros chiffre_affaires, du plus grand au plus petit.

Projet de synthèse : une requête de « top N » combine un regroupement, une agrégation, un tri et une limite.

Les 4 briques

GROUP BY colonne regroupe les lignes par valeur (ici par produit)
SUM(a * b)
additionne un total (ex. quantité × prix = chiffre d'affaires)
ORDER BY ... DESC trie du plus grand au plus petit LIMIT n ne garde que les n premiers
Les quatre briques d'un top N, dans l'ordre où elles s'appliquent : regrouper, additionner, trier, puis ne garder que les premiers

Exemple (table commandes) :

SELECT client_id, SUM(montant) AS ca FROM commandes GROUP BY client_id ORDER BY ca DESC LIMIT 5; -> les 5 clients qui ont le plus dépensé
order_items
idorder_idproduct_idquantitypriceorder_date
query.sql

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →