그룹 함수
- 숫자함수 중 여러값을 전달하여 하나의 요약값을 출력하는 다중행 함수
- 수학/통계 함수들(기술통계 함수)
- GROUP BY 절에 의해 그룹별 연산 결과를 리턴 함
- 반드시 한 컬럼만 전달
- NULL은 무시하고 연산
COUNT
- 행의 수를 세는 함수
- 대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능(* 사용 시 모든 컬럼의 값이 널일 때만 COUNT 제외)
- 문자, 숫자, 날짜 컬럼 모두 전달 가능
- 행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음(PK 컬럼)
# 문법
COUNT(대상)
# 예제
각 컬럼의 COUNT 결과
SELECT COUNT(*), COUNT(EMPNO), COUNT(COMM)
FROM EMP;
COUNT(*) | COUNT(EMPNO) | COUNT(COMM) | |
1 | 14 | 14 | 4 |
널을 포함한 컬럼은 전체 행의 수와 다르게 출력됨
SUM
- 총 합 출력
- 숫자 컬럼만 전달 가능
# 문법
SUM(대상)
AVG
- 평균 출력
- 숫자 컬럼만 전달 가능
- NULL 을 제외한 대상의 평균을 리턴하므로 전체 대상 평균 연산 시 주의
# 문법
AVG(대상)
MIN / MAX
- 최소, 최대 출력
- 날짜, 숫자, 문자 모두 가능(오름차순 순서대로 최소, 최대 출력)
# 문법
MIN(대상) / MAX(대상)
# 예제
각 컬럼의 최대, 최소
SELECT MIN(ENAME), MAX(ENAME),
MIN(SAL), MAX(SAL),
MIN(HIREDATE), MAX(HIREDATE)
FROM EMP;
MIN(ENAME) | MAX(ENAME) | MIN(SAL) | MAX(SAL) | MIN(HIREDATE) | MAX(HIREDATE) | |
1 | ADAMS | WARD | 800 | 5000 | 1980/12/17 00:00:00 | 1997/03/10 00:00:00 |
VARIANCE / STDDEV
- 평균과 표준편차
- 표준편차는 평균값의 루트값
# 문법
VARIANCE(대상) / STDDEV(대상)
GROUP BY FUNCTION
- GROUP BY 절에 사용하는 함수
- 여러 GROUP BY 결과를 동시에 출력(합집합) 하는 기능
- 그룹핑 할 그룹의 정의(전체 소계 등)
# GROUPING SETS (A, B, ...)
- A별, B별 그룹 연산 결과 출력
- 나열 순서 중요하지 X
- 기본 출력에 전체 총계는 출력되지 X
- NULL 혹은 ( ) 사용하여 전체 총 합 출력 가능
# ROLLUP (A, B)
- A별, (A,B)별, 전체 그룹 연산 결과 출력
- 나열 대상의 순서가 중요함
- 기본적으로 전체 총 계가 출력됨
# CUBE (A, B)
- A별, B별, (A,B)별, 전체 그룹 연산 결과 출력됨
- 그룹으로 묶을 대상의 나열 순서 중요하지 않음
- 기본적으로 전체 총 계가 출력됨
'데이터베이스(DB) > SQLD' 카테고리의 다른 글
[SQLD 2-2-5] SQL 활용 - Top N 쿼리 (31) | 2024.06.13 |
---|---|
[SQLD 2-2-4] SQL 활용 - 윈도우 함수 (30) | 2024.06.12 |
[SQLD 2-2-2] SQL 활용 - 집합 연산자 (37) | 2024.05.27 |
[SQLD 2-2-1] SQL 활용 - 서브쿼리 (47) | 2024.05.23 |
[SQLD 2-1-8] SQL 기본 - 표준 조인 (38) | 2024.05.23 |