복수개의 행을 처리하여 한개의 결과를 구하는 함수
해당 컬럼 조회 시 결과 값의 수
SELECT COUNT(comm) FROM emp;
해당 컬럼 조회 시 결과 값의 합
SELECT SUM(comm) FROM emp;
해당 컬럼 조회 시 결과 값의 평균
SELECT AVG(comm) FROM emp;
해당 컬럼 조회 시 결과 값 중 최대 값
SELECT MAX(comm) FROM emp;
해당 컬럼 조회 시 결과 값 중 최소 값
SELECT MIN(comm) FROM emp;
해당 컬럼 조회 시 결과 값의 표준편차
SELECT STDDEV(comm) FROM emp;
해당 컬럼 조회 시 결과 값의 분산
SELECT VARIANCE(comm) FROM emp;
같은 값을 가진 결과 값을 하나의 그룹으로 묶어주는 역할
SELECT deptno, AVG(NVL(sal,0)
FROM emp
GROUP BY deptno
SELECT deptno, job, AVG(NVL(sal,0))
FROM emp
GROUP BY deptno,job
SELECT deptno, job ,AVG(NVL(sal,0)) "AVG_SAL"
FROM emp
GROUP BY deptno
SELECT에 포함된 job 컬럼이 GROUP BY에 사용되지 않아 오류가 발생하게 된다.
GROUP 함수 조건을 걸 때 사용한다.
AND를 사용해서 조건을 추가할 수도 있다.
SELECT deptno, AVG(NVL(sal,0))
FROM emp
WHERE deptno >10
GROUP BY deptno
HAVING AVG(NVL(sal,0)) >2000;
소그룹간의 합계를 계산하는 함수
GROUP BY로 묶은 각각의 소그룹 합계와 전체 합계를 모두 구할 수 있다.
ROLLUP(A,B)
를 했을 시 처음에 명시한 A에 대해서만 소그룹 합계를 내준다.
ROLLUP(A,B,C)
사용 시
ABC에 대한 소계, AB에 대한 소계, A에 대한 소계, 전체 합계를 보여주게 된다.
ROLLUP((A,B),C)
사용 시
ABC에 대한 소계, AB에 대한 소계, 전체 합계를 보여준다.
계산 가능한 소그룹간의 합계를 모두 반환한다.
CUBE(A,B)
전체합계와 A에 대한 소계, B에 대한 소계 그룹 컬럼으로 산출할 수 있는 모든 소계 합계 반환
지정한 컬럼에 대해 컬럼별 소계 쿼리를 합친 결과가 조회된다.
GROUPING SETS(A,B)
A에 대한 소계, B에 대한 소계
GROUPING SETS(A,())
A에 대한 소계, 전체에 대한 소계