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

HAVING句でMySQLSUM()関数を使用するにはどうすればよいですか?


HAVING句でMySQLSUM()関数を使用することにより、HAVING句の後に指定された特定の条件に基づいて結果をフィルタリングします。上記の概念を理解するために、次のレコードを持つ「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)

ここで、以下のクエリはSUM()関数でHAVING句を使用して、250を超えるdaily_typing_pagesの合計を取得します。

mysql> Select Name, SUM(daily_typing_pages) From employee_tbl GROUP BY NAME HAVING SUM(daily_typing_pages) > 250;
+------+-------------------------+
| name | SUM(daily_typing_pages) |
+------+-------------------------+
| Jack |          270            |
| Zara |          650            |
+------+-------------------------+
2 rows in set (0.17 sec)

  1. MySQLでSUM()をIF()と一緒に使用できますか?

    はい、MySQLのIF()でSUM()を使用できます。まず、デモテーブルを作成しましょう: mysql> create table DemoTable (    Value int,    Value2 int ); Query OK, 0 rows affected (0.51 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into DemoTable values(100,400); Query OK, 1 row affected (0.13 sec) m

  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