😎풀이

  1. Product테이블의 일자에 맞도록 product_id를 기준으로 JOIN 한다.
  2. product_id를 기준으로 그룹화한다.
  3. 그룹화된 결과를 기준으로 구입량 * 가격 / 구입량 연산을 통해 평균가격을 측정하여 조회한다.
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;
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글