我们可以使用称为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