반응형
COUNT란?
SQL의 집계함수중 하나로 db table을 조회하여 특정 field에 대해 행의 갯수를 세주는 함수이다.
이번에는 count함수의 기본적인 사용법을 정리하며, 이를 응용하여 사용하는 방법에 대해서도 알려주고자 합니다.
예시로 가상의 db table이 있다 가정합니다.
Value |
1 |
1 |
0 |
0 |
4 |
3 |
Table: count_test
이때 count의 기본 문법과 NULL을 count 할때, 그리고 중복 제거 함수인 DISTINCT함수 또한 사용했을 때 어떻게 값이 추출되는지 알아보겠습니다.
SELECT COUNT(1) FROM count_test
해당 값은 어떻게 나올까요?
바로 6이 나옵니다. COUNT(1)은 COUNT(*)과 같이 작동합니다.
SELECT COUNT(value) FROM count_test
해당 값은 어떻게 나올까요?
이는 6이 나옵니다. value field에 대하여 계산을 하며 NULL이 아닌 값들만 count를 진행합니다.
SELECT COUNT(DISTINCT value) FROM count_test
해당 값은 어떻게 나올까요?
이는 4가 나옵니다. 이는 NULL을 제외한 값들을 중복제거를 하여 하나씩의 값만 가져옵니다. 즉 0,1,3,4를 counting하여 4가 나오게 됩니다.
SQL을 사용하면서 count 집계함수에 대하여 헷갈릴 경우가 많은데 해당 글을 보고 조금이나마 도움이 되셨으면 좋겠습니다.
감사합니다.