Maison > base de données > tutoriel mysql > Comment trouver les 5 articles les plus vendus par magasin à l'aide de SQL ?

Comment trouver les 5 articles les plus vendus par magasin à l'aide de SQL ?

Linda Hamilton
Libérer: 2024-12-22 00:54:43
original
270 Les gens l'ont consulté

How to Find the Top 5 Best-Selling Items per Store Using SQL?

Trouver les N articles les plus vendus pour chaque groupe à l'aide de SQL

Énoncé du problème :

Énoncé du problème :

Donné un tableau avec les enregistrements de ventes, y compris le code UPC de chaque article vendu, la date de vente, l'identifiant du magasin et le total des ventes en dollars, l'objectif est de récupérer le Top 5 des articles vendus pour chaque magasin dans une seule requête SQL.

Solution :

;WITH s AS (
  SELECT StoreID, UPCCode, tds, rn = ROW_NUMBER()
  OVER (PARTITION BY StoreID ORDER BY tds DESC)
  FROM 
  (
    SELECT StoreID, UPCCode, tds = SUM(TotalDollarSales)
    FROM Sales
    GROUP BY StoreID, UPCCode
  ) AS s2
)
SELECT StoreID, UPCCode, TotalDollarSales = tds
FROM s
WHERE rn <= 5
ORDER BY StoreID, TotalDollarSales DESC;
Copier après la connexion

À l'aide de la syntaxe Common Table Expression (CTE), nous pouvons créer une table temporaire nommée « » pour classer les meilleurs articles dans chaque magasin en fonction des ventes totales en dollars. Par la suite, nous pouvons sélectionner les 5 meilleurs articles pour chaque magasin à l'aide d'un filtre de numéro de ligne.

    Explication :
  • La sous-requête s2 calcule la somme de TotalDollarSales pour chaque combinaison de StoreID et UPCCode.
  • Les CTE créent une colonne de classement, rn, pour déterminer le numéro de ligne de chaque article dans chaque magasin en fonction des ventes totales en dollars.
La requête externe sélectionne les 5 meilleurs articles du CTE pour chaque magasin, classés par TotalDollarSales par ordre décroissant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal