프로그래머스 SQL 고득점 킷 5월 식품들의 총매출 조회하기

hysss·2023년 2월 17일
0

JOIN - 5월 식품들의 총매출 조회하기

문제 분석

FOOD_PRODUCT와 FOOD_ORDER 테이블에서
생산일자가 2022년 5월인 식품들
식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요.
이때 결과는 총매출을 기준으로 내림차순 정렬해주시고
총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.

코드

SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(O.AMOUNT * P.PRICE) AS TOTAL_PRICE
FROM FOOD_PRODUCT P JOIN FOOD_ORDER O ON P.PRODUCT_ID=O.PRODUCT_ID
WHERE YEAR(O.PRODUCE_DATE)=2022 AND MONTH(O.PRODUCE_DATE)=5
GROUP BY P.PRODUCT_ID, P.PRODUCT_NAME
ORDER BY TOTAL_PRICE DESC, PRODUCT_ID

문제 풀이

Join condition은 PRODUCT_ID를 사용했다.

그리고 FOOD_ORDER 테이블은 상품을 주문한 내용을 담고 있는 주문 테이블이기 때문에 여러 개의 PRODUCT_ID와 PRODUCT_NAME이 존재할 수 있고, 하나의 PRODUCT_ID가 다른 PRODUCT_NAME을 가지는 일은 없다.
그렇기 때문에 PRODUCT_ID와 PRODUCT_NAME으로 Grouping을 하고, SUM() 집계 함수를 이용해서 총매출을 구했고, 이를 이용해서 정렬까지 수행했다.

profile
매일 매일 규칙적으로

0개의 댓글