코딩테스트/SQL
[프로그래머스][MySQL] Lv. 4 5월 식품들의 총매출 조회하기
_알파카
2024. 7. 16. 01:25
728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/131117
4단계 문제이지만, 크게 어렵지 않은 문제이다!
주어진 문제의 조건과 테이블 정보는 다음과 같다.
FOOD_PRODUCT : 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격
FOOD_ORDER : 주문 ID, 제품 ID, 주문량, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID
- 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회
- 총 매출은 가격 * 판매량
- 총매출을 기준으로 내림차순 정렬, 식품 ID를 기준으로 오름차순 정렬
가장 주의할 점은 총 매출인데, 이 정보의 경우 가격(PRICE) * 총 판매량(SUM(AMOUNT)) 를 통해 구하면 된다!
내 풀이
SELECT p.PRODUCT_ID,
p.PRODUCT_NAME,
(p.PRICE * SUM(o.AMOUNT)) AS TOTAL_SALES
FROM FOOD_PRODUCT p INNER JOIN FOOD_ORDER o
ON p.PRODUCT_ID = o.PRODUCT_ID
WHERE o.PRODUCE_DATE LIKE '2022-05%'
GROUP BY p.PRODUCT_NAME
ORDER BY TOTAL_SALES DESC, PRODUCT_ID ASC;
1. 두 개의 테이블에서 겹치는 컬럼인 RPODUCT_ID로 JOIN을 한다.
2. 원하는 날짜를 %를 통해 구한다. 저렇게 하면, 2022-05 뒤에 아무거나 와도 조건에 맞는 컬럼이 반환된다.
3. 문제에서 주어진대로 식품 id, 이름, 총 매출을 출력한다.
728x90