在MySQL中,哪里有?

我们可以使用称为WHERE子句的条件子句来过滤结果。使用此WHERE子句,我们可以指定选择条件以从表中选择所需的记录。HAVING子句为一组行或集合指定过滤条件

WHERE子句不能与聚合函数一起使用,而HAVING可以与聚合函数一起使用。以下是一个例子-

现在让我们创建一个表。

mysql> create table WhereDemo
   -> (
   -> Price int
   -> );

将记录插入表中。

mysql> insert into WhereDemo values(100);

mysql> insert into WhereDemo values(200);

mysql> insert into WhereDemo values(300);

mysql> insert into WhereDemo values(400);

显示所有记录。

mysql> select *from WhereDemo;

以下是输出。

+-------+
| Price |
+-------+
|   100 |
|   200 |
|   300 |
|   400 |
+-------+
4 rows in set (0.00 sec)

HAVING子句可以与聚合函数一起使用。

mysql>  select sum(Price) from WhereDemo HAVING Sum(Price) > 500;

以下是输出。

+------------+
| sum(Price) |
+------------+
|       1000 |
+------------+
1 row in set (0.00 sec)

在这里,如果我们尝试将WHERE与聚合函数一起使用,则会生成错误。

mysql> select sum(Price) from WhereDemo where Sum(Price) > 200;
ERROR 1111 (HY000): Invalid use of group function