Oracle
그룹함수 -GROUP BY , HAVING ,ROLL UP ,CUBE,GROUPING
임혁진
2023. 12. 12. 12:11
그룹함수
- AVG
- SUM
- MIN
- MAX
- COUNT
예시
COUNT -(*),(EXPR)
COUNT(*) - NULL값 포함
COUNT(EXPR) - EXPR에서 NULL이 아닌 행의 수 리턴
GROUP BY
GROUP BY 는 WHERE 절과 ORDER BY 사이에 나온다
하나 이상의 열로 그룹화
그룹함수의 잘못된 사용
개별 컬럼과 그룹 함수를 같이 SELECT문으로 쓰는경우
- GROUP BY (개별컬럼)해줘야한다
WHERE절에 그룹함수를 제한하는 경우
-HAVING을 사용
HAVING
HAVING 은 -그룹함수를 제한하는 함수이다 (일반 컬럼의 WHERE절)
ROLLUP ,CUBE , GROUPING
ROLLUP
-GROUP BY 절과 같이 사용 되며 , GROUP BY 절에 의해 그룹지어진 총계에 대한 결과를 상세히 반환
CUBE
-CUBE 는 서브 그룹에 대한 SUM을 추출하는데 사용
ROLLUP 보다 지저분하게 나오고 추출값을 모아놓고 추출값의 총계도 나온다.
GROUPING
-GROUPING 은 ROLLUP , CUBE에 모두 사용할 수 있다
-> 소계나 총계의 데이터는 (CUBE나 ROLLUP에 의해 산출된 ROW) 는 1 반환 원래 테이블의 ROW는 0을 반환
-> 결과집합 ROW인지 산출된 ROW인지 확인용이다.