能在MySQL WHERE语句中使用SUM()函数的结果吗?
在MySQL中,可以使用HAVING子句而不是WHERE子句。让我们首先创建一个表 –
mysql> create table DemoTable
(
Name varchar(50),
Price int
);
Query OK, 0 rows affected (0.79 sec)
使用insert命令在表中插入一些记录 –
mysql> insert into DemoTable values('Chris',30);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David',40);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Chris',10);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Mike',44);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('David',5);
Query OK, 1 row affected (0.17 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable;
此操作将产生以下输出 –
+-------+-------+
| Name | Price |
+-------+-------+
| Chris | 30 |
| David | 40 |
| Chris | 10 |
| Mike | 44 |
| David | 5 |
+-------+-------+
5 rows in set (0.00 sec)
以下是在HAVING子句中使用SUM()函数结果的查询 –
mysql> select Name,SUM(Price) AS Total_Price from DemoTable group by Name having Total_Price > 40;
此操作将产生以下输出 –
+-------+-------------+
| Name | Total_Price |
+-------+-------------+
| David | 45 |
| Mike | 44 |
+-------+-------------+
2 rows in set (0.03 sec)
阅读更多:MySQL 教程
极客教程