반응형
데이터를 집계할 때 하나의 컬럼 전체를 기준으로 데이터를 집계했다면 특정 그룹으로 묶어 데이터를 집계할 수도 있다. 그 기능을 해주는 함수가 group by절이고 그룹별 집계된 결과 중 원하는 조건의 결과만 필터링하기 위해서는 having 절이다.
Group by 절
- 집계 함수가 함께 사용 가능하다. (sum, min, max, avg.. )
- 그룹핑을 하고자 하는 컬럼명을 select절과 group by절에 함께 명시해야 한다.
- where과 order by절 사이에 위치한다.
select [컬럼1],[컬럼2],[컬럼3]
from table A
group by [그룹핑할 컬럼]
ex)
select manf_no, recv_Date, sum(salary)
from A
group by manf_no, recv_Date;
Having 절
- group by절 다음에 위치하여 그룹핑한 결과를 대상으로 다시 필터를 거는 역할을 한다.
- where절에서는 집계 함수를 사용할 수 없지만 having 절에서는 조건비교가 가능하다.
group by [그룹핑할 컬럼]
having [조건]
ex)
select manf_no, sum(salary)
from A
group by manf_no
having manf_no > 12 ;
반응형
'BigData TIL > Database' 카테고리의 다른 글
[Oracle] FIRST_VALUE , LAST_VALUE (0) | 2022.01.12 |
---|---|
[Oracle] ABS, 절댓값 구하기 (0) | 2022.01.11 |
[Oracle] NVL, NVL2 (0) | 2022.01.07 |
[Oracle] case when, decode (0) | 2022.01.06 |
[Oracle] JOIN 정리 (0) | 2022.01.05 |