[MySQL] 집계함수 (ROUND, COUNT)

친환경 개발자
|2025. 11. 12. 22:14

 

 

ROUND 함수

숫자를 지정한 소수점 자리수로 반올림해 반환하는 함수

자릿수를 지정하지 않으면 정수로 반올림해준다.

 

 

ROUND(숫자, 자릿수)

 

이 때,

자릿수를 생략하면 0의 자릿수 즉 정수 단위로 반올림한다. ( 2-> 소숫점 둘째 자리까지)

자릿수가 양수이면 소수점 이하 기준으로 반올림한다.

자리수가 음수이면 소수점 왼쪽 자릿수를 기준으로 반올림한다. (-2 -> 100의 자리까지 반올림)

 

mysql> SELECT ROUND(125.315);
-- 결과: 125

mysql> SELECT ROUND(125.315, 0);
-- 결과: 125

mysql> SELECT ROUND(125.315, 1);
-- 결과: 125.3

mysql> SELECT ROUND(125.315, 2);
-- 결과: 125.32

mysql> SELECT ROUND(125.315, -1);
-- 결과: 130   (10단위로 반올림)

mysql> SELECT ROUND(125.315, -2);
-- 결과: 100   (100단위로 반올림)

mysql> SELECT ROUND(-125.315);
-- 결과: -125

 

 

 

COUNT 함수

지정된 표현의 개수를 반환한다.

조건을 만족하는 행의 수를 계산할 때 사용한다.

중요한건, 컬럼의 값이 NULL 이면, 카운트하지 않는다

 

SELECT COUNT(표현식)
FROM 테이블명
[WHERE 조건];

 

SELECT 컬럼 1, 컬럼 2, ... 컬럼 n, COUNT(표현식)
FROM 테이블명
[WHERE 조건]
GROUP BY 컬럼 1, 컬럼 2, ... 컬럼 n;

 

COUNT에 들어가지 않는 컬럼은 GROUP BY에 반드시 포함해야 한다.