SQL에서 대표적인 집계함수(집합을 다루는 함수)는 다음과 같다.
일반적인 함수는 하나의 값을 인수로 받는 반면 집계함수는 집합을 인수로 받는다.
> COUNT
> SUM
> AVG
> MIN
> MAX
COUNT는 인수로 주어진 집합의 개수를 반환한다.
SELECT COUNT(*) FROM sample51;
SELECT COUNT(*) FROM sample51 WHERE name='A';
SELECT COUNT(no), COUNT(name) FROM sample51;
경우에 따라 집합 안에 중복된 값이 있는지 여부가 문제될 때도 있다. 데이터가 중복되지 않는 경우를 '유일한 값을 가진다'고 표현한다.
sample51 테이블의 1행과 2행은 name열에서 중복된 값을 갖는다.
SQL 명령은 이런 중복된 값을 제거하는 DISTINCT 함수를 제공한다.
SELECT DISTINCT COUNT(name)
은 COUNT가 먼저 실행되기 때문에 안된다.바로 집계함수의 인수로 DISTINCT를 사용한 수식을 지정하면된다.
SELECT COUNT(ALL name), COUNT(DISTINCT name) FROM sample51;