YataNox

[My_SQL] Lv.2 상품 별 오프라인 매출 구하기 본문

DB/Programmers SQL

[My_SQL] Lv.2 상품 별 오프라인 매출 구하기

에이디/김우진 2024. 11. 23. 15:01

문제

 

https://school.programmers.co.kr/learn/courses/30/lessons/131533

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

우선 OFFINE_SALE 테이블에서 ID별로 팔린 갯수를 더할 필요가 있다.

WITH절을 활용해서 그룹화한 값을 만들어 활용하고 해당 테이블을 PRODUCT 와 조인하여 문제를 해결한다.

 

코드

WITH SALES_COUNT AS (
    SELECT PRODUCT_ID, SUM(SALES_AMOUNT) AS 'AMOUNT_SUM'
    FROM OFFLINE_SALE
    GROUP BY PRODUCT_ID
)

SELECT P.PRODUCT_CODE, (P.PRICE * S.AMOUNT_SUM) AS SALES
FROM PRODUCT P JOIN SALES_COUNT S ON P.PRODUCT_ID = S.PRODUCT_ID
ORDER BY 2 DESC, 1 ASC;