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
효율적인 조인을 위해 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