관리 메뉴

오늘도 배운다

5월 식품들의 총매출 조회하기 / 프로그래머스, SQL 코딩테스트 연습 JOIN 본문

코딩테스트연습(SQL)

5월 식품들의 총매출 조회하기 / 프로그래머스, SQL 코딩테스트 연습 JOIN

LearnerToRunner 2022. 11. 28. 17:48

문제

FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.

 

제출답안

SELECT po_may.product_id, fp.product_name, po_may.total_amount * fp.price AS total_sales
FROM (SELECT product_id, SUM(amount) AS total_amount
      FROM food_order
      WHERE MONTH(produce_date) = 5
      GROUP BY product_id) AS po_may
      JOIN food_product AS fp ON po_may.product_id = fp.product_id
ORDER BY 3 DESC, 1

 

 

 

풀이

더보기

Food_product 테이블 조회

SELECT * FROM food_product

 

Food_order 테이블 조회

SELECT * FROM food_order

 

효율적인 조인을 위해 5월 생산제품을 product_id로 그룹화 및 총 판매량 계산후 조인

FROM (SELECT product_id, SUM(amount) AS total_amount
      FROM food_order
      WHERE MONTH(produce_date) = 5
      GROUP BY product_id) AS po_may
      JOIN food_product AS fp ON po_may.product_id = fp.product_id

 

 

문제 바로가기(MySQL)  

 

728x90
Comments