>데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 매장별 베스트 셀러 상위 5개 품목을 찾는 방법은 무엇입니까?

SQL을 사용하여 매장별 베스트 셀러 상위 5개 품목을 찾는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-22 00:54:43314검색

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

SQL을 사용하여 각 그룹의 상위 N개 판매 품목 찾기

문제 설명:

주어진 판매된 각 품목의 UPC 코드, 판매 날짜, 매장 ID 및 총 달러 매출의 목표는 단일 SQL 쿼리로 각 매장에서 판매된 상위 5개 품목을 검색하는 것입니다.

해결책:

공용 테이블 표현식(CTE) 사용 ) 구문을 사용하면 's'라는 임시 테이블을 만들어 총 매출을 기준으로 각 매장 내 상위 항목의 순위를 지정할 수 있습니다. 이어서 행 번호 필터를 사용하여 각 매장의 상위 5개 항목을 선택할 수 있습니다.

;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;

설명:

  • 하위 쿼리 s2가 합계를 계산합니다. StoreID와 UPCCode의 각 조합에 대한 TotalDollarSales
  • CTE 순위 열 rn을 ​​생성하여 총 매출액을 기준으로 각 매장 내의 각 항목에 대한 행 번호를 결정합니다.
  • 외부 쿼리는 TotalDollarSales를 기준으로 내림차순으로 정렬된 각 매장의 CTE에서 상위 5개 항목을 선택합니다. 주문하세요.

위 내용은 SQL을 사용하여 매장별 베스트 셀러 상위 5개 품목을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.