博客
关于我
mysql中having的用法
阅读量:791 次
发布时间:2023-02-11

本文共 535 字,大约阅读时间需要 1 分钟。

在MySQL中,当我们需要使用聚合函数如SUM、COUNT等时,为了在统计结果后对数据进行进一步筛选,HAVING子句是非常有用的。与WHERE子句不同,WHERE是用于在聚合之前对数据进行筛选,而HAVING则是在聚合之后对结果进行筛选。理解这两者的区别对于高效编写SQL查询至关重要。

以下是一个典型的例子:假设我们需要统计不同分类(CID)下的答题记录数量,并筛选出每个分类下的答题次数超过2次的记录。

查询分类CID下答题记录的统计结果

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;

注意事项

  • 在HAVING子句中进行的判断条件必须基于聚合函数的返回结果。例如,nums > 2是有效的判断条件,因为它基于COUNT(id)的计算结果。
  • 确保HAVING子句中的条件能够正确反映数据的实际分布,避免因为逻辑错误导致无法获取预期结果。

转载地址:http://hsbfk.baihongyu.com/

你可能感兴趣的文章
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
mutiplemap 总结
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>
MVC 区域功能
查看>>
MySQL FEDERATED 提示
查看>>
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>