mysql having关键字怎么用

文 / @WordPress主题

MySQL中的HAVING关键字用于对分组后的数据进行过滤。类似于WHERE关键字,HAVING也支持WHERE中的操作符和语法。但是它们之间也存在一些差异。

首先,WHERE通常用于过滤数据行,而HAVING用于过滤数据分组。其次,WHERE查询条件中不支持使用聚合函数,而HAVING查询条件中可以使用聚合函数。此外,WHERE在数据分组前进行过滤,而HAVING在分组后进行过滤。而WHERE针对的是数据库文件,而HAVING针对的是查询结果。

实际使用中,若查询语句中已经包含了需要过滤的字段,则WHERE和HAVING都可以使用。但如果查询语句中没有特定字段,则使用HAVING时需要确保其在SELECT语句中已经查询出该字段。

举个例子,查询tb_students_info表中身高大于150的学生姓名、性别和身高,可以使用以下语句:

SELECT name, sex, height FROM tb_students_info
HAVING height > 150;

也可以使用WHERE语句:

SELECT name, sex, height FROM tb_students_info
WHERE height > 150;

但查询tb_students_info表中身高大于150的学生姓名和性别,则需要确保SELECT语句中查询出了姓名和性别字段,才能使用HAVING:

SELECT name, sex FROM tb_students_info
HAVING height > 150;

如果SELECT语句中没有查询出height字段,则会报错。同时,在使用聚合函数时,只能在HAVING中使用,不能在WHERE中使用,否则也会报错。

综上所述,HAVING关键字可以方便地对分组后的数据进行过滤,并支持聚合函数的使用。但在使用前需要注意其与WHERE关键字的区别,确保查询语句的正确性。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。