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

GROUP BY句でMySQLSUM()関数を使用する利点は何ですか?


MySQL SUM()関数をGROUP BY句で使用する場合、SUM()関数はGROUPBY句で指定されたすべてのグループの合計を評価します。 GROUP BY句でSUM()を使用する利点は、特定のグループの合計を簡単に見つけることができることです。上記の概念を理解するために、次のレコードを持つ「employee_tbl」テーブルについて考えてみます-

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
| 1    | John | 2007-01-24 |        250         |
| 2    | Ram  | 2007-05-27 |        220         |
| 3    | Jack | 2007-05-06 |        170         |
| 3    | Jack | 2007-04-06 |        100         |
| 4    | Jill | 2007-04-06 |        220         |
| 5    | Zara | 2007-06-06 |        300         |
| 5    | Zara | 2007-02-06 |        350         |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

次のクエリは、1人の人物に関連するすべてのレコードを合計し、すべての人物が入力したページの総数になります。

mysql> SELECT name, SUM(daily_typing_pages)
    -> FROM employee_tbl GROUP BY name;
+------+-------------------------+
| name | SUM(daily_typing_pages) |
+------+-------------------------+
| Jack |          270            |
| Jill |          220            |
| John |          250            |
| Ram  |          220            |
| Zara |          650            |
+------+-------------------------+
5 rows in set (0.17 sec)

  1. MySQL GROUP BYおよびHAVINGを使用して、重複しないIDでレコードを表示します

    まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int,    ColorName varchar(100) ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100,'Red'); Query OK, 1 row affected (0.11 sec) mysql> insert into

  2. MySQL WHERE句でSUM()関数の結果を使用できますか?

    MySQLのWHEREではなくHAVING句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    Name varchar(50),    Price int ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris',30); Query OK, 1 row affected (0.15