MySQL の複数行関数


複数行の関数

ここに画像の説明を挿入

複数行の関数、つまりグループ関数は集計関数とも呼ばれ、レコードのグループ (少なくとも 2 つ) に対して統計計算を実行し、統計結果を取得する機能です。複数行の関数を使用する場合は、次の 2 つの点に注意する必要があります。

  • デフォルトでは、複数行関数は値が null のレコードを無視し、操作を開始しません。
  • デフォルトでは、複数行関数は重複した値をカウントし、重複した値を自動的に削除しません。

一般的に使用される複数行関数を以下に紹介します。次の表に示すように、input はフィールド名を表します。

グループ関数名 説明する
平均(入力) 平均
SUM(入力) 合計する
MAX(入力) 最大値を見つける
MIN(入力) 最小値を見つける
カウント(入力) 総統計

次に、上記の複数行関数をデモします。

次の実験を開始するとき、学生は前の実験でダウンロードした world.sql をインポートし、データベースを切り替えるように求められます。

source /home/project/world.sql

1. 国テーブル内のすべての国の人口の平均を計算するには、SQL ステートメントを次のように実装します。

MariaDB [world]> select avg(population) as 平均人口 from country;
+---------------+
| 平均人口      |
+---------------+
| 25434098.1172 |
+---------------+
1 row in set (0.001 sec)

結果分析: 通常、平均値には小数点以下の桁がありますが、人口などのデータには小数点以下の桁があるのは不適切です。前の章の丸め用の 1 行関数を組み合わせて、小数点を削除できます。変更された SQL ステートメントは次のとおりです。

MariaDB [world]> select round(avg(population), 0) as 平均人口 from country;
+--------------+
| 平均人口     |
+--------------+
|     25434098 |
+--------------+
1 row in set (0.000 sec)

注: ラウンド関数では小数点以下 0 桁が設定されているため、結果は整数部分のみになります。

2. 国テーブル内のすべての国の総人口を見つけるには、SQL ステートメントを次のように実装します。

MariaDB [world]> select sum(population) as 人口总数 from country;
+--------------+
| 人口总数     |
+--------------+
|   6078749450 |
+--------------+
1 row in set (0.000 sec)

3. 国のテーブルで人口が最大の国の人口と最小の人口を見つけるには、SQL ステートメントを次のように実装します。

MariaDB [world]> select max(population) as 最多人口数, min(population) as 最少人口数 from country;
+-----------------+-----------------+
| 最多人口数      | 最少人口数      |
+-----------------+-----------------+
|      1277558000 |               0 |
+-----------------+-----------------+
1 row in set (0.000 sec)

注: ワールド サンプル データベースのデータは、MySQL の操作練習のためにのみ使用されており、データの信頼性は保証されません。

4. 国テーブル内の国の合計数を確認するには、SQL ステートメントを次のように実装します。

MariaDB [world]> select count(name) as 国家总数 from country;
+--------------+
| 国家总数     |
+--------------+
|          239 |
+--------------+
1 row in set (0.000 sec)

おすすめ

転載: blog.csdn.net/m0_62617719/article/details/130843047
おすすめ