[LeetCode-SQL 50] 1070. Product Sales Analysis III

코린이·2025년 6월 3일

SQL 문제 풀이 (MySQL)

목록 보기
71/96

❓ 문제

Sales
+-------------+-------+
| Column Name | Type  |
+-------------+-------+
| sale_id     | int   |
| product_id  | int   |
| year        | int   |
| quantity    | int   |
| price       | int   |
+-------------+-------+

(sale_id, year)는 이 테이블의 기본 키(고유 값을 가진 열의 조합)입니다.
product_id는 Product 테이블의 외래 키(참조 열)입니다.
각 행은 특정 연도의 제품 판매를 기록합니다.
한 제품에 같은 연도의 판매 항목이 여러 개 있을 수 있습니다.
단위당 가격에 유의하세요.

각 제품이 판매된 첫해에 발생한 모든 매출을 구하는 솔루션을 작성합니다.

  • 각 product_id에 대해 판매 테이블에 가장 먼저 나타나는 연도를 식별합니다.

  • 해당 연도의 해당 제품에 대한 모든 판매 항목을 반환합니다.

product_id, first_year, quantity 및 price 열이 있는 테이블을 반환합니다.

자세한 문제 내용은 사이트 참고...


❗️ 문제 풀이

WITH TMP_TB AS (
    SELECT
        product_id
        , MIN(year) AS first_year
    FROM Sales
    GROUP BY product_id
)
SELECT
    A.product_id
    ,B.first_year
    ,A.quantity
    ,A.price
FROM Sales A JOIN TMP_TB B
    ON A.product_id = B.product_id
    AND A.year = B.first_year
;

🔗 Reference

https://leetcode.com/problems/product-sales-analysis-iii/description/?envType=study-plan-v2&envId=top-sql-50

0개의 댓글