알고리즘/SQL

[SQL] 5월 식품들의 총매출 조회하기

moongi 2025. 6. 10. 15:01
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

 

문제 유형

  • SQL
  • JOIN

문제 난이도

  • Lev4

 

문제 분석

문제에서 구하고자 하는 조건
1. 생산일자가 2022년 5월인 식품들
2. 총 매출 조회
3. 총매출을 기준으로 내림차순 정렬, 총매출이 같다면 식품ID를 기준으로 오름차순 정렬

생산일자 필터링
1. YEAR(B.PRODUCE_DATE) = '2022' AND MONTH(B.PRODUCE_DATE) = '05'

총 매출 조회
1. FOOD_PRODUCT, FOOD_ORDER 를 INNER JOIN 한 이후에, 주문한 상품들의 총 AMOUNT를 더해준다. -> SUM(B.AMOUNT)
2. 전체 주문량에서 상품의 가격을 곱해주면 총매출 금액이 나온다. -> SUM(B.AMOUNT) * A.PRICE AS TOTAL_SALES

정렬
ORDER BY TOTAL_SALES DESC, A.PRODUCT_ID 로 정렬해준다.

 

전체 코드

SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(B.AMOUNT) * A.PRICE AS TOTAL_SALES
FROM FOOD_PRODUCT A
JOIN FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_ID
WHERE YEAR(B.PRODUCE_DATE) = '2022' AND MONTH(B.PRODUCE_DATE) = '05'
GROUP BY A.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, A.PRODUCT_ID
728x90
반응형