PHP | MySQLのAVG()でカラムの平均値を取得する方法

PHP,PHP MySQL

PHPでMySQLのAVG()関数を使って指定したひとつの、または複数のカラムにあるデータの平均値を取得する方法とPHPのサンプルコードを紹介しています。

確認環境

エックスサーバー
PHP 8.016

AVG()でカラムにあるデータの平均値を取得する

AVG()関数は指定したカラムにあるデータの平均値を取得する事が可能です。

第一引数に、データの平均値を取得したいカラム名を指定します。

サンプルでは以下のデータが格納されたテーブルを利用します。

namevalue
Apple100
Pine200
Banana300
サンプルで利用しているテーブル

AVG()関数を使って指定したカラムにあるデータの平均値を取得するPHPのサンプルコードです。
AS句を使って「avg」というキー名を作成しています。

// クエリ
$sql = "SELECT AVG(`value`) AS avg FROM `table_name`";

// クエリを実行
$res = $mysqli->query($sql);
$dat = mysqli_fetch_assoc($res);

echo $dat['avg'];
// 200.0000

WHERE分で条件を指定する事も可能です。

AVG()で複数カラムにあるデータの平均値を取得する

AVG()関数で複数のカラムを指定して、データの平均値をそれぞれ取得する事が可能です。

サンプルでは以下のデータが格納されたテーブルを利用します。

namevalue1value2
Apple10010
Pine20020
Banana30030
サンプルで利用しているテーブル

AVG()関数を使って指定した複数のカラムにあるデータの平均値を取得するPHPのサンプルコードです。
AS句を使って「avg1」「avg2」というキー名を作成しています。

// クエリ
$sql = "SELECT AVG(`value1`) AS `avg1`, AVG(`value2`) AS `avg2` FROM `table_name`";

// クエリを実行
$res = $mysqli->query($sql);
$dat = mysqli_fetch_assoc($res);

echo $dat['avg1'] .' / '. $dat['avg2'];
200.0000 / 20.0000

PHP,PHP MySQL

Posted by Yousuke.U