SQL에서 집계 함수는 여러 데이터에 대해 열을 기준으로 집계하여 하나의 결과를 내놓는 함수이다.
주로 GROUP BY와 같이 쓰이는 경우가 많다. 자주 사용되는 집계함수 5가지를 소개하겠다.
이름 그대로 특정 열의 숫자를 세는 함수이다.
NULL
을 제외한 모든 값의 개수를 반환한다.
단, COUNT(*)
의 경우에는 NULL
도 포함해서 카운트한다.
SELECT mbti, COUNT(*)
FROM student
GROUP BY mbti
ORDER BY DESC;
mbti별 학생의 수를 내림차순으로 보여달라는 쿼리문이다.
데이터의 특정 열의 합을 반환한다.
해당 열은 NUMBER
타입이어야 한다.
SELECT team, SUM(score)
FROM game
GROUP BY team;
게임에서 팀별 점수 합을 보여준다.
평균을 구해주는 함수이다. 보통 ROUND
와 같이 사용한다.
SELECT subject, ROUND(AVG(score), 2)
FROM test_result
GROUP BY subject;
시험 과목별로 평균 점수를 구해 소수점 2자리까지 반올림한 결과를 볼 수 있다.
해당 열 중에서 최소값, 최대값을 구해준다.
SELECT gender, MIN(age), MAX(age)
FROM class
GROUP BY gender;
모임에서 남성과 여성별로 나이의 최소값과 최대값을 구한다.