TIL/SQL

리트코드| average selling prices

jojoon2786 2024. 9. 5. 09:54

테이블

 

문제

각 제품의 평균 판매 가격을 구하는 솔루션을 작성합니다. 소수점 이하 2자리로 반올림해야 합니다.average_price
순서에 관계없이 결과 테이블을 반환합니다.

 

Input

 

나의 풀이)

select a.product_id, round(sum(a.price*b.units)/sum(b.units),2) as average_price
from Prices a left join UnitsSold b on a.product_id=b.product_id
and b.purchase_date between a.start_date and a.end_date
group by 1

 

처음에 product_id가 같길래 inner join만 해주었는데, 합쳐진 테이블의 행이 엄청 많아졌었다.

on 이후에 and로 purchase_date 가 a 테이블의 end와 start date 사이에 있도록 조건을 주었다.