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

MySQL에서 조화 평균과 2차 평균(RMS) 구현하는 방법

MySQL에는 조화 평균(Harmonic Mean)이나 2차 평균(Quadratic Mean, 제곱평균제곱근)을 계산하는 전용 함수가 없습니다. 하지만 COUNT(), SUM(), SQRT() 같은 기본 집계 함수를 조합하면 손쉽게 구현할 수 있습니다.

각 평균의 수식은 다음과 같습니다.

  • 조화 평균: n / Σ(1/xᵢ) — 값들의 역수 합으로 나눈 값
  • 2차 평균(RMS): √(Σ(xᵢ²) / n) — 값들을 제곱한 후 평균을 내고 다시 제곱근을 취한 값

1. 테이블 생성

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

mysql> create table DemoTable1606
    -> (
    -> Value int
    -> );
Query OK, 0 rows affected (0.55 sec)

2. 데이터 삽입

INSERT 명령어를 사용해 샘플 데이터를 입력합니다.

mysql> insert into DemoTable1606 values(5);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1606 values(10);
Query OK, 1 row affected (0.12 sec)

3. 데이터 확인

SELECT 문으로 저장된 모든 레코드를 조회합니다.

mysql> select * from DemoTable1606;

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

+-------+
| Value |
+-------+
|     5 |
|    10 |
+-------+
2 rows in set (0.00 sec)

4. 조화 평균과 2차 평균 계산 쿼리

아래 쿼리 하나로 두 가지 평균을 동시에 계산할 수 있습니다.

mysql> select (count(*)/sum(1/Value)) as HarmonicMean,
    -> sqrt(sum(Value * Value)/count(*)) as QuadraticMean
    -> from DemoTable1606;

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

+--------------+-------------------+
| HarmonicMean | QuadraticMean     |
+--------------+-------------------+
|       6.6667 | 7.905694150420948 |
+--------------+-------------------+
1 row in set (0.03 sec)

결과 해석

값 5와 10에 대해 산술 평균은 7.5입니다. 조화 평균은 약 6.67로 산술 평균보다 작게 나오며, 2차 평균은 약 7.91로 산술 평균보다 크게 나옵니다. 이는 일반적으로 조화 평균 ≤ 기하 평균 ≤ 산술 평균 ≤ 2차 평균의 관계가 성립하기 때문입니다.

조화 평균은 주로 속도나 비율의 평균을 구할 때 유용하고, 2차 평균(RMS)은 신호 처리나 통계에서 변동 크기를 나타낼 때 자주 활용됩니다.