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);
'데이터 분석 > SQL' 카테고리의 다른 글
[쉽게 쓴 SQL] FIRST_VALUE, LAST_VALUE 함수 (0) | 2020.11.06 |
---|---|
[쉽게 쓴 SQL] ROW_NUMBER, RANK, DENSE_RANK 차이 (0) | 2020.11.06 |
[SQL 문법] 분석 함수 (0) | 2020.11.05 |
[SQL 문법] CUBE () 절 (0) | 2020.11.05 |
[SQL 문법] ROLLUP ( ) 절 (0) | 2020.11.05 |