LV3 5월 식품들의 총 매출 조회
문제 )
FOOD_PRODUCT
와FOOD_ORDER
테이블에서생산일자
가 2022년 5월인 식품들의식품 ID
,식품 이름
,총매출
을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.
(자세한 문제내용과 테이블내용은 프로그래머스에 있습니다.)
SELECT product_id
, product_name
, amount*price as total_sales
FROM (SELECT a.product_id
, b.product_name
, sum(a.amount) as amount
, b.price
FROM FOOD_ORDER a
LEFT JOIN FOOD_PRODUCT b ON a.product_id = b.product_id
WHERE MONTH(a.PRODUCE_DATE) = 5
GROUP BY a.product_id) A
ORDER BY total_sales desc , product_id
시나리오
- WHERE ?
FOOD_ORDER
테이블 에서 MONTH() 함수를 이용해생산일자
가 5월인 식품들을 걸러줍니다.- 결국 구해야하는 것은
식품 ID
별 총매출 이기 때문에, 주문된식품 ID
를 GROUP BY 해준 뒤주문량
을 집계처리 해줘서식품 ID
별총 주문량
(AMOUNT)을 구해줍니다. ☞ TABLEA
- 조건에 맞게 구해진 TABLE
A
의식품이름
,총매출
을 구하기 위해FOOD_PRODUCT
와 JOIN 해줍니다.- 총매출 =
가격
*총 주문량