Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL SUM 함수로 소수(DECIMAL) 값 합계 구하기

MySQL에서 SUM 함수는 숫자 컬럼의 전체 합계를 계산할 때 사용하는 대표적인 집계 함수입니다. 이 글에서는 DECIMAL 타입의 소수 값을 저장한 테이블을 만들고, SUM 함수로 합계를 구하는 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 소수 값을 저장할 테이블을 생성합니다. 여기서는 DECIMAL(7,2) 타입을 사용했는데, 이는 전체 7자리 중 소수점 이하 2자리까지 저장할 수 있음을 의미합니다.

mysql> create table DemoTable
(
    Money DECIMAL(7,2)
);
Query OK, 0 rows affected (0.58 sec)

2. 데이터 삽입하기

INSERT 명령을 사용해 테이블에 샘플 데이터를 입력합니다.

mysql> insert into DemoTable values(100.67);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(199.33);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(500);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(400);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(800);
Query OK, 1 row affected (0.14 sec)

3. 저장된 데이터 확인하기

SELECT 문으로 테이블에 저장된 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다. 정수로 입력한 값도 DECIMAL(7,2) 정의에 따라 소수점 둘째 자리까지 자동으로 표시되는 것을 확인할 수 있습니다.

+--------+
| Money  |
+--------+
| 100.67 |
| 199.33 |
| 500.00 |
| 400.00 |
| 800.00 |
+--------+
5 rows in set (0.00 sec)

4. SUM 함수로 소수 값 합계 구하기

이제 SUM 함수를 사용해 Money 컬럼의 전체 합계를 구하는 쿼리는 다음과 같습니다.

mysql> select sum(Money) from DemoTable;

실행 결과는 다음과 같습니다.

+------------+
| sum(Money) |
+------------+
| 2000.00    |
+------------+
1 row in set (0.00 sec)

정리

SUM 함수는 DECIMAL 타입의 소수 값도 정확하게 더해 줍니다. 위 예제에서는 100.67 + 199.33 + 500 + 400 + 800 = 2000.00으로, 소수점 아래 값까지 손실 없이 합산된 것을 확인할 수 있습니다. 금액처럼 정확한 소수 계산이 필요한 데이터는 FLOAT가 아닌 DECIMAL 타입을 사용하는 것이 좋으며, 집계 시에는 SUM 함수를 활용하면 됩니다.