COUNT Forms
COUNT 세 가지는 서로 다르다
COUNT(*)는 행을 세고, COUNT(컬럼)은 NULL이 아닌 값을 세며, COUNT(DISTINCT)는 중복을 제거한 값을 셉니다.
전체 행
NULL 제외
중복 제거
형식
세는 대상
결과
COUNT(*)
NULL과 중복을 가리지 않고 모든 행
5
COUNT(category)
category 값이 NULL이 아닌 행
4
COUNT(DISTINCT)
NULL을 빼고 중복 category를 한 번만
2
id
category
행 포함?
값 포함?
1
전자
COUNT(*)
COUNT(category)
2
전자
COUNT(*)
COUNT(category)
3
식품
COUNT(*)
COUNT(category)
4
NULL
COUNT(*)
COUNT(category) 제외
5
식품
COUNT(*)
COUNT(category)
COUNT(*)
5
NULL 여부와 관계없이 모든 행을 셉니다.
COUNT(category)
4
category가 NULL인 행은 제외됩니다.
COUNT(DISTINCT)
2
전자, 식품처럼 고유한 값만 셉니다.