Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- medium
- MySQL
- HACKER_RANK
- SELF-JOIN
- 직장인자기계발
- 직장인인강
- SQL
- meidum
- recursive
- 프리미엄
- Hackerrank
- 다시풀어보기
- 패스트캠퍼스후기
- Hard
- lv.4
- 파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
- 시계열데이터분석
- 패캠챌린지
- group by
- 파이썬을활용한시계열데이터분석
- row_number
- easy
- LeetCode
- 패스트캠퍼스
- 프로그래머스
- 어려웠음
- RANK
- solvesql
- 해커랭크
- join
Archives
- Today
- Total
~고군분투 인생살이~
[MySQL, Lv.4] 5월 식품들의 총매출 조회하기 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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
'SQL > 프로그래머스' 카테고리의 다른 글
[MySQL, LV.4]저자 별 카테고리 별 매출액 집계하기 (0) | 2022.12.15 |
---|---|
[MySQL, Lv.4] 서울에 위치한 식당 목록 출력하기 (0) | 2022.10.10 |
[My_SQL, Lv.4] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2022.10.09 |
[MySQL_Lv.4] 입양 시각 구하기(2) (0) | 2022.10.09 |
[My_SQL,Lv.4] 우유와 요거트가 담긴 장바구니 (0) | 2022.10.06 |
Comments