[SQL] 연습

[MySQL] 프로그래머스 5월 식품들의 총 매출 조회하기

Simon Yoon 2024. 10. 10. 20:39

문제:

생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회

- 총매출을 기준으로 내림차순 정렬, 식품 ID를 기준으로 오름차순 정렬

 

해결방법:

1. WHERE 조건절에 YEAR(), MONTH() 함수로 2022년 5월에 대한 조건을 설정

2. ORDER 테이블과 PRODUCT 테이블을 PRODUCT_ID 를 기준으로 INNER JOIN

3. 조인한 테이블에서 PRICE * AMOUNT 를 하면 개별 주문당 매출이 나오는데, GROUP BY 로 각 식품ID 별 총 매출 계산

4. ORDER BY 에서 정렬 설정

 

예시 코드:

SELECT FO.PRODUCT_ID, FP.PRODUCT_NAME, SUM(FO.AMOUNT * FP.PRICE) TOTAL_SALES
FROM FOOD_ORDER FO
INNER JOIN FOOD_PRODUCT FP
ON FO.PRODUCT_ID = FP.PRODUCT_ID
WHERE YEAR(PRODUCE_DATE) = 2022 AND MONTH(PRODUCE_DATE) = 5
GROUP BY FO.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, PRODUCT_ID ASC
;