본문 바로가기
PS/SQL

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

by 행복한라이언 2024. 2. 11.
728x90
반응형

문제링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 핵심

  • FOOD_ORDER 테이블에 id당 mount가 1개만 있는게 아니라 산재되어있다.

ORDER

  • 예시의 일부분이다. P0017의 AMOUNT는 1200과 1000이다. 따라서 id로 group by를 진행하고 sum를 사용해서 AMOUNT를 합칠 필요가 있다.

2. 코드(MySQL)

# 생산일자 2022년 5월 식품들의 식품id, 이름, 총매출
# 총매출 내림차순, 식품id 오름차순

# order table에서 id 당 mount가 산재되어있다. 따라서 group by를 통해서 id당 amount를 합계시킨다.
with temp as (
    select PRODUCT_ID, sum(AMOUNT) as AMOUNT
    from FOOD_ORDER 
    where year(PRODUCE_DATE) = 2022 and month(PRODUCE_DATE) = 5 	
    group by PRODUCT_ID
)

select T.PRODUCT_ID, P.PRODUCT_NAME	, T.AMOUNT * P.PRICE as TOTAL_SALES
from temp T
inner join FOOD_PRODUCT P on T.PRODUCT_ID = P.PRODUCT_ID
order by TOTAL_SALES desc, T.PRODUCT_ID asc;
728x90
반응형