https://school.programmers.co.kr/learn/courses/30/lessons/131117
문제: FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.
select food_product.product_id, product_name, (price * sum(amount)) as total_sales
from food_product inner join food_order
on food_product.product_id = food_order.product_id
where produce_date like '2022-05-%'
group by product_id
order by total_sales desc, product_id asc
food_product와 food_order를 product_id 기준으로 이너 조인 한 뒤,
where문으로 2022-05월 생산된 투플만 선택해 준다
groub by로 product_id를 기준으로 묶어주면 각 product의 price와 amount가 한 투플 안에 들어가기 때문에 total_sales를 구할 수 있다(food_order 테이블에는 같은 product 주문이 여러 번 있을 수 있기 때문에 group by로 묶어줘야 함)
마지막으로 order by로 요구사항에 맞게끔 정렬시켜 주면 된다
'Programing > 데이터베이스(MySQL)' 카테고리의 다른 글
[프로그래머스] 취소되지 않은 진료 예약 조회하기 (Level 4) (0) | 2023.12.08 |
---|---|
[프로그래머스] 식품분류별 가장 비싼 식품의 정보 조회하기 (Level 4) (0) | 2023.12.08 |
[프로그래머스] 보호소에서 중성화한 동물 (Level 4) (0) | 2023.12.08 |
[프로그래머스] MySQL Lv.3 전체 정답 풀이 (0) | 2023.11.03 |
[프로그래머스] MySQL Lv.2 (정답률 80% 이하) (0) | 2023.10.31 |