안녕하세요.
50회차 과제 "5월 식품들의 총매출 조회하기"입니다.
문제 설명
다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블과 식품의 주문 정보를 담은 FOOD_ORDER 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다.
FOOD_ORDER 테이블은 다음과 같으며 ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE, OUT_DATE, FACTORY_ID, WAREHOUSE_ID는 각각 주문 ID, 제품 ID, 주문량, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다.
문제
FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.
풀이
/* 조건
* product_id, product_name, total_sales
* produce_date = 2022년 5월
* 총매출 기준 내림차순 정렬 desc
* 총매출이 같은 경우 식품 ID 기준 오름차순 정렬 asc
*/
select p.product_id, p.product_name, sum(p.price * o.amount) as total_sales
from food_product p join food_order o on p.product_id = o.product_id
where date_format(o.produce_date, '%Y-%m') = '2022-05'
group by 1, 2
order by 3 desc, 1 asc
저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.
'내일배움캠프 > Daily Routine (SQL)' 카테고리의 다른 글
[내일배움캠프] SQL Daily Routine 52. 과일로 만든 아이스크림 고르기 (0) | 2024.10.16 |
---|---|
[내일배움캠프] SQL Daily Routine 51. 없어진 기록 찾기 (4) | 2024.10.15 |
[내일배움캠프] SQL Daily Routine 49. 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2024.10.14 |
[내일배움캠프] SQL Daily Routine 48. 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.10.10 |
[내일배움캠프] SQL Daily Routine 47. 모든 레코드 조회하기 (0) | 2024.10.10 |
댓글