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;