자격증/SQLD
COUNT 집계 함수
닉네임생각즁
2024. 3. 2. 13:03
COUNT(*), COUNT(1), COUNT(2),,,,,,
- 전체 테이블의 행의 수를 출력
- NULL 값 포함해서 행의 수 계산
COUNT(컬럼명)
- NULL 제외한 행의 수 계산
COUNT(DISTICT 컬럼)
- 중복 제외
- 컬럼이 가지고 있는 고유의 종류의 수를 계산
ex)
[T1]
COL1 |
1 |
2 |
2 |
3 |
NULL |
1) SELECT COUNT(*) FROM T1;
→ NULL 값 포함한 행의 수
→ 5
2) SELECT COUNT(1) FROM T1;
COL1 | 1 |
1 | 1 |
2 | 1 |
2 | 1 |
3 | 1 |
NULL | 1 |
SELECT COL1, 1 FROM T1;
→ 1 값으로 가득 찬 파생 컬럼이 생김
→ 1 컬럼에 대해서는 NULL 값이 존재하지 않기 때문에 COUNT(1)은 COUNT(*)와 동일
→ 5
3) SELECT COUNT(1) FROM T1;
→ NULL 값 제외한 행의 수
→ 4
4) SELECT COUNT(DISTINCT COL1) FROM T1;
→ NULL 값 제외하고 행들의 "종류의 수" 계산 (중복X)
→ 3
⭐ COUNT 속 DISTINCT 가 아니라면?
SELECT DISTINCT COL1 FROM T1;
COL1 |
1 |
2 |
3 |
NULL |
- 중복된 행 제외하고 출력됨
- NULL 값 또한 하나의 종류로 취급되어 NULL 도 출력됨