본문 바로가기
JAVA

221110 oracle 그룹함수

그룹 함수
여러 행에 대해 한번에 처리가 가능한 다중행 함수

날짜도 숫자계산 가능->min max를 날짜에도 적용이 가능하다


count 함수
개수를 구함
count(*), count(expr-컬럼)
-count(*)는 중복되는 행과 null값을 포함하는 행을 포함하여 테이블 행의 수를 리턴
-count(컬럼)은 컬럼에 의해 인식된 열에서 null이 아닌 행의 수를 리턴함


그룹 함수 사용법?
group by절과 having 절

GROUP BY절은 WHERE절 다음 ORDER절 사이에 쓰임
특정 그룹별로 집계를 구할 때 등 사용됨
group by절에서 사용한 컬럼은 select절에서 사용 가능. 
그러나 group by절에서 사용하지 않은 컬럼은 select절에서 사용할 수 없다!
(오라클 기준)

그루핑은 꼭 하나일 필요는 없음. 2~3개도 가능. 보통 2개까지 하곤 함

where절에 그룹함수를 사용하여 제한할 수 없음.

HAVING절
group by절의 조건 having
둘이 세트

where절에는 열 선택에 대한 조건이 들어가고,
그루핑에 대한 조건은 having절에 들어감




+)
Rollup, cube, Grouping

rollup구문은 group by절과 같이 사용됨
select절에 rollup을 사용함으로써 보통의 select된 데이터와 그 데이터의 총계를 구할 수 있다.
즉 그룹핑된 결과의 합계를 구한다

rollup은 주 그룹의 합계를 구하고 cube는 주 그룹과 서브그룹의 모든 토탈을 구한다.


그룹에 의해 나온 행인지, rollup과 cube에 의해 나온 행인지 구분해주는 함수
=>grouping

group by이면 0, rollup과 cube에 의한 것이면 1을 반환한다.

'JAVA' 카테고리의 다른 글

영화예매 프로젝트 로그인 만들기 console  (0) 2022.12.05
221110 oracle join1  (0) 2022.11.10
221031 Network  (0) 2022.10.31
221031 정규 표현식  (0) 2022.10.31
221031 Semaphore  (0) 2022.10.31