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

MySQL에서 열 값의 평균을 계산하고 소수점 없이 결과 표시하는 방법

MySQL에서 avg() 함수로 평균을 구하면 소수점 이하 자릿수가 길게 표시되는 경우가 많습니다. 이럴 때 round() 함수를 함께 사용하면 평균값을 원하는 자릿수로 반올림하여 깔끔한 정수 형태로 표시할 수 있습니다. 아래 예제를 통해 단계별로 살펴보겠습니다.

1. 샘플 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    Score int
);
Query OK, 0 rows affected (0.68 sec)

2. 데이터 삽입

insert 명령어를 사용해 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values(98);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values(97);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(91);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(86);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(45);
Query OK, 1 row affected (0.12 sec)

3. 전체 레코드 조회

select 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

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

+-------+
| Score |
+-------+
|    98 |
|    97 |
|    91 |
|    86 |
|    45 |
+-------+
5 rows in set (0.00 sec)

4. 소수점 없이 평균값 계산하기

다음 쿼리는 avg()로 Score 열의 평균을 구한 뒤, round()를 적용해 소수점 없이 반올림된 결과를 표시합니다.

mysql> select round(avg(Score),0) AS Average from DemoTable;

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

+---------+
| Average |
+---------+
|      83 |
+---------+
1 row in set (0.00 sec)

핵심 함수 정리

avg()는 지정한 열의 산술 평균을 반환하는 집계 함수입니다. 위 예제에서 실제 평균은 83.4이지만, round(값, 자릿수)의 두 번째 인자를 0으로 설정하면 소수점 첫째 자리에서 반올림되어 83이라는 정수 형태의 결과를 얻을 수 있습니다. 만약 소수점 둘째 자리까지 표시하고 싶다면 round(avg(Score),2)처럼 자릿수를 조절하면 됩니다.