~고군분투 인생살이~

[MySQL, Lv.4] 5월 식품들의 총매출 조회하기 본문

SQL/프로그래머스

[MySQL, Lv.4] 5월 식품들의 총매출 조회하기

소금깨 2022. 10. 10. 00:27
 

프로그래머스

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

programmers.co.kr

문제 조건 

- FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 이름, 식품 ID, 총매출을 조회하는 SQL문을 작성해주세요.

- 이때 결과는 총매출을 기준으로 내림차순 정렬해주세요.

 

문제 풀이 

[다시 풀어보기...] 

- 매출이 발생된 product의 total_sales를 구해야 하기 때문에 필요한 데이터를 불러오기 위해 food_product와 food_order을 product_id를 이용해서 inner join을 진행 

- 추가 필터링으로 food_order 테이블의 produce_date(생산 날짜)를 5월 내로 조건을 추가함

- 이렇게 join된 테이블을 기준으로 product_id(order 테이블), product_name, sum(price*amount)를  출력함. 

   - 집계함수 사용을 위해 그루핑

 

 

select o.product_id,
        p.product_name,
        sum(price*amount) as total_sales
from food_product p
    inner join food_order o on p.product_id = o.product_id 
                        and o.produce_date between '2022-05-01' and '2022-05-31'
                        -- 혹은 date_format(o.produce_date,'%Y-%m') = '2022-05' 
                        -- 혹은 month(o.produce_date) = 5 | 이건 22년 데이터만 있다고 가정했을 때 사용 
                        -- 혹은 left(o.produce_date,7) = '2022-05'
group by 1,2
order by 3 desc
Comments