728x90
❓ Question
❗ Answer
SELECT prod.product_id, prod.product_name, SUM(prod.price*ord.amount) total_sales
FROM food_product prod
LEFT OUTER JOIN food_order ord
ON prod.product_id = ord.product_id
WHERE DATE_FORMAT(ord.produce_date, '%Y%m') = '202205'
GROUP BY prod.product_id
ORDER BY total_sales DESC, prod.product_id;
📌 Discussion
- left outer join으로 key인 product_id 기준으로 모든 데이터를 JOIN
- product_id별로 product_name은 하나이므로 데이터 모호성도 제거
- where로 필터링
- sum으로 그루핑된 데이터를 집계
'SQL 문제풀이' 카테고리의 다른 글
[프로그래머스 SQL] LV.1 과일로 만든 아이스크림 고르기 (0) | 2023.08.04 |
---|---|
[프로그래머스 SQL] LV.2 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.08.04 |
[프로그래머스 SQL] LV.3 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2023.08.04 |
[프로그래머스 SQL] LV.4 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2023.08.04 |
[프로그래머스 SQL] LV.3 없어진 기록 찾기 (0) | 2023.08.04 |