MySQL에서는 SUM() 함수로 숫자 컬럼의 합계를 구하고, 여기에 FORMAT() 함수를 결합하면 소수점 자릿수를 지정하고 천 단위 구분 기호(콤마)까지 포함된 보기 좋은 형태로 결과를 출력할 수 있습니다. 아래 예제를 통해 실제 사용 방법을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable1950
(
Amount float
);
Query OK, 0 rows affected (0.00 sec)2. 레코드 삽입
INSERT 명령을 사용해 테이블에 데이터를 입력합니다.
mysql> insert into DemoTable1950 values(45.60); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1950 values(101.78); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1950 values(75.90); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1950 values(89.45); Query OK, 1 row affected (0.00 sec)
3. 전체 데이터 조회
SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.
mysql> select * from DemoTable1950;
실행 결과는 다음과 같습니다.
+--------+ | Amount | +--------+ | 45.6 | | 101.78 | | 75.9 | | 89.45 | +--------+ 4 rows in set (0.00 sec)
4. SUM과 FORMAT을 결합한 쿼리
다음은 MySQL에서 SUM()과 FORMAT()을 함께 사용해 합계를 원하는 형식으로 출력하는 쿼리입니다.
mysql> select format(sum(Amount),2) as TotalSum from DemoTable1950;
실행 결과는 다음과 같습니다.
+----------+ | TotalSum | +----------+ | 312.73 | +----------+ 1 row in set (0.00 sec)
결과 분석 및 참고 사항
네 개 금액(45.60 + 101.78 + 75.90 + 89.45)의 합계인 312.73이 소수점 둘째 자리까지 깔끔하게 표시된 것을 확인할 수 있습니다. FORMAT() 함수의 두 번째 인자는 표시할 소수점 자릿수를 의미하며, 값이 1,000을 초과하면 자동으로 콤마(,)를 추가해 주기 때문에 통화 금액처럼 가독성이 중요한 경우에 특히 유용합니다.
단, FORMAT()의 반환 타입은 문자열(VARCHAR)이라는 점에 유의해야 합니다. 따라서 포맷팅된 결과를 다시 수치 연산에 사용해야 한다면 ROUND()나 CAST() 같은 함수를 활용하는 것이 좋습니다.