Product
테이블의 일자에 맞도록 product_id
를 기준으로 JOIN 한다.product_id
를 기준으로 그룹화한다.구입량 * 가격
/ 구입량
연산을 통해 평균가격을 측정하여 조회한다.SELECT
p.product_id,
ROUND(
IFNULL(SUM(u.units * p.price) / SUM(u.units), 0)
, 2) AS average_price
FROM Prices p
LEFT JOIN UnitsSold u
ON p.product_id = u.product_id
AND u.purchase_date BETWEEN p.start_date AND p.end_date
GROUP BY p.product_id;