MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで調和平均と二乗平均(Quadratic Mean)を計算する方法

MySQLには調和平均(Harmonic Mean)や二乗平均(Quadratic Mean)を直接求める組み込み関数は用意されていませんが、COUNT()、SUM()、SQRT()といった基本的な集計関数・数学関数を組み合わせることで、簡単に実装できます。

サンプルテーブルの作成

まず、以下のようにテーブルを作成します。

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

レコードの挿入

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)

レコードの確認

SELECT文でテーブル内の全レコードを表示してみましょう。

mysql> select * from DemoTable1606;

以下のような出力が得られます。

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

調和平均と二乗平均を求めるクエリ

調和平均は「レコード数 ÷ 各値の逆数の合計」で、二乗平均(RMS:Root Mean Square)は「各値の二乗の合計をレコード数で割った値の平方根」で求められます。以下がその実装例です。

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の2件の場合、調和平均は約6.67、二乗平均は約7.91となります。MySQLで特殊な平均値を扱いたい場合も、数学的な定義に沿って集計関数を組み合わせれば、追加の関数やストアドプロシージャなしに実現できるのがポイントです。

  1. MySQLサーバーと起動プログラムの種類と使い方を徹底解説

    MySQLには、サーバー本体およびサーバーの起動・管理に関わるプログラムが4種類用意されています。それぞれ役割が異なるため、目的に応じて使い分けることが重要です。mysqldmysqld_safemysql.servermysqld_multimysqld(MySQLサーバー本体)mysqldは「MySQL Server」とも呼ばれる、MySQLの中核となるプログラムです。単一のマルチスレッド型プログラムとして動作し、MySQLインストール環境における処理の大部分を担います。特徴的なのは、追加のプロセスを生成しない点です。mysqldは、データベースやテーブルが格納されたMySQLデータディレ

  2. 【C++】算術平均と幾何平均から調和平均を求める方法

    本記事では、算術平均と幾何平均の値から調和平均(Harmonic Mean)を求める方法を、C++のコード例とともに解説します。まず、3つの平均それぞれの定義式を確認しておきましょう。算術平均(AM):(a + b) / 2幾何平均(GM):√(a × b)調和平均(HM):2ab / (a + b)調和平均は、算術平均と幾何平均を用いて次の関係式で表すことができます。HM = GM² / AMこの関係を利用すると、調和平均を直接計算するのではなく、算術平均と幾何平均の2つの値を経由して求めることが可能です。サンプルコード#include <iostream> #include &