데이터 분석/SQL
[SQL 문법] AVG 함수
참치바나나
2020. 11. 5. 21:26
group_name 별 평균 가격을 알고 싶다
이전 글에서 준비한 product, product_group 테이블을 inner join 후 avg 함수 사용
SELECT
a.group_name ,
avg(price)
FROM
product_group a
INNER JOIN product b
ON (a.group_id = b.group_id)
GROUP BY
a.group_name;

제품의 가격과 그 제품의 그룹 별 평균 가격을 같이 보고 싶다
이 때 분석함수를 사용
SELECT
b.product_name ,
b.price ,
a.group_name ,
avg(b.price) OVER(PARTITION BY a.group_name)
FROM
product_group a
INNER JOIN
product b
ON (a.group_id = b.group_id);
GROUP BY는 없어도 되고,
제품의 가격과 그 제품의 그룹 별 누적 평균 가격을 같이 보고 싶다
누적 집계에는 ORDER BY 사용
SELECT
b.product_name ,
b.price ,
a.group_name ,
avg(b.price) OVER(
PARTITION BY a.group_name
ORDER BY b.price)
FROM
product_group a
INNER JOIN
product b
ON (a.group_id = b.group_id);