MySQL SUM() 함수란?
MySQL의 SUM() 함수는 테이블에 있는 여러 레코드에서 특정 필드 값들의 합계를 계산할 때 사용하는 집계 함수입니다. 예를 들어 직원별 타이핑 페이지 수처럼 숫자 데이터가 저장된 컬럼의 전체 합을 손쉽게 구할 수 있습니다.
예제 테이블 살펴보기
SUM() 함수의 동작을 이해하기 위해 다음과 같은 레코드를 가진 employee_tbl 테이블을 예로 들어 보겠습니다.
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
SUM() 함수로 전체 합계 구하기
위 테이블에서 모든 직원의 daily_typing_pages(일일 타이핑 페이지 수) 총합을 계산하고 싶다면, 다음과 같은 쿼리를 실행하면 됩니다.
mysql> SELECT SUM(daily_typing_pages)
-> FROM employee_tbl;
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
| 1610 |
+-------------------------+
1 row in set (0.00 sec)결과 해석
쿼리 결과, 전체 레코드의 daily_typing_pages 합계는 1610입니다. 이처럼 SUM() 함수는 WHERE 절과 함께 사용해 특정 조건에 맞는 레코드만 골라 합계를 구하거나, GROUP BY 절과 조합하여 그룹별 소계를 계산하는 등 다양한 방식으로 활용할 수 있습니다.