[MYSQL]SUM、MAX、MIN、AVG、COUNT(集約関数)


1.SUM関数

  • は、指定したフィールドのすべての値を加算する関数を返します.
  • のデフォルトの使用方法は次のとおりです.
  • SELECT SUM([필드명]) FROM [테이블명];
    テーブルがあるとします.
  • です.
  • mysql> SELECT * FROM test;
    +-----+-----------+
    | age | name      |
    +-----+-----------+
    |  18 | 박해빈      |
    |  21 | 박형진      |
    |  21 | 박상민      |
    +-----+-----------+
    3 rows in set (0.00 sec)
    
    こちらです.
    SELECT SUM(age) FROM test;
    上記のコマンドを実行すると、次の表に戻ります.
    mysql> SELECT SUM(age) FROM test;
    +----------+
    | SUM(age) |
    +----------+
    |       60 |
    +----------+
    1 row in set (0.01 sec)

    2.MAX関数

  • は、特定のフィールドの最大値を返す関数です.
  • のデフォルトの使用方法は次のとおりです.
  • SELECT MAX([필드명]) FROM [테이블명];
    テーブルがあるとします.
  • です.
  • mysql> SELECT * FROM test;
    +-----+-----------+
    | age | name      |
    +-----+-----------+
    |  18 | 박해빈      |
    |  21 | 박형진      |
    |  21 | 박상민      |
    |  22 | 엄준식      |
    +-----+-----------+
    4 rows in set (0.00 sec)
    こちらです.
    SELECT MAX(age) FROM test;
    上記のコマンドを実行すると、次の表に戻ります.
    mysql> SELECT MAX(age) FROM test;
    +----------+
    | MAX(age) |
    +----------+
    |       22 |
    +----------+
    1 row in set (0.00 sec)

    3.MIN関数

  • は、特定のフィールドの最小値の関数を返します.
  • のデフォルトの使用方法は次のとおりです.
  • SELECT MIN([필드명]) FROM [테이블명];
    テーブルがあるとします.
  • です.
  • mysql> SELECT * FROM test;
    +-----+-----------+
    | age | name      |
    +-----+-----------+
    |  18 | 박해빈      |
    |  21 | 박형진      |
    |  21 | 박상민      |
    |  22 | 엄준식      |
    +-----+-----------+
    4 rows in set (0.00 sec)
    こちらです.
    SELECT MIN(age) FROM test;
    上記のコマンドを実行すると、次の表に戻ります.
    mysql> SELECT MIN(age) FROM test;
    +----------+
    | MIN(age) |
    +----------+
    |       18 |
    +----------+
    1 row in set (0.00 sec)

    4.AVG関数

  • は、特定のフィールドの値の平均値を計算する関数です.
  • のデフォルトの使用方法は次のとおりです.
  • SELECT AVG([Field Name]) FROM [Table Name];
    次のようにテーブルがあるとします.
    mysql> SELECT * FROM scores;
    +-------+-------+
    | class | score |
    +-------+-------+
    |     1 |    50 |
    |     1 |    50 |
    |     2 |    45 |
    |     3 |    70 |
    |     2 |    45 |
    |     3 |    20 |
    |     1 |    45 |
    |     2 |    30 |
    |     1 |    25 |
    +-------+-------+
    9 rows in set (0.00 sec)
    各クラスの得点の平均点を求めたい場合は、次のクエリに記入してください.
    SELECT AVG(score) FROM scores;

    5.COUNT関数

  • は、特定のフィールドまたはテーブルに含まれるデータの数を示す関数です.
  • のデフォルトの使用方法は次のとおりです.
  • SELECT COUNT([필드명 or *]) FROM [테이블명];
    次の表があるとします.
    mysql> SELECT * FROM test;
    +------+-----------+
    | age  | name      |
    +------+-----------+
    | NULL | 박상민      |
    | NULL | 박해빈      |
    |   21 | 박형진      |
    |   23 | NULL      |
    |   48 | NULL      |
    +------+-----------+
    5 rows in set (0.00 sec)
    こちらです.
    SELECT COUNT(*) FROM test;
    コマンドを入力すると、次のように出力テーブルに何個のレコードが表示されますか.
    mysql> SELECT COUNT(*) FROM test;
    +----------+
    | COUNT(*) |
    +----------+
    |        5 |
    +----------+
    1 row in set (0.00 sec)
    次のコマンドを入力します.
    SELECT COUNT(age) FROM test;
    下図に示すように、出力するレコードの数をage値にします.
    mysql> SELECT COUNT(age) FROM test;
    +------------+
    | COUNT(age) |
    +------------+
    |          3 |
    +------------+
    1 row in set (0.00 sec)
    次のコマンドを入力します.
    SELECT COUNT(name) FROM test;
    次の図に示すように、出力するレコードの数をname値にします.
    mysql> SELECT COUNT(name) FROM test;
    +-------------+
    | COUNT(name) |
    +-------------+
    |           3 |
    +-------------+
    1 row in set (0.00 sec)