本文共 535 字,大约阅读时间需要 1 分钟。
在MySQL中,当我们需要使用聚合函数如SUM、COUNT等时,为了在统计结果后对数据进行进一步筛选,HAVING子句是非常有用的。与WHERE子句不同,WHERE是用于在聚合之前对数据进行筛选,而HAVING则是在聚合之后对结果进行筛选。理解这两者的区别对于高效编写SQL查询至关重要。
以下是一个典型的例子:假设我们需要统计不同分类(CID)下的答题记录数量,并筛选出每个分类下的答题次数超过2次的记录。
SELECT cid, COUNT(id) AS nums FROM xzyd_question GROUP BY cid;
为了筛选出每个分类的答题次数超过2次的记录,可以使用HAVING子句:
SELECT cid, COUNT(id) AS nums FROM xzyd_question GROUP BY cid HAVING nums > 2;
nums > 2
是有效的判断条件,因为它基于COUNT(id)
的计算结果。转载地址:http://hsbfk.baihongyu.com/