博客
关于我
mysql中having的用法
阅读量:796 次
发布时间: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/

你可能感兴趣的文章
MySQL查看数据库相关信息
查看>>
MySQL查看表结构和表中数据
查看>>
MySQL查询优化:LIMIT 1避免全表扫描
查看>>
MySQL查询优化之索引
查看>>
mysql查询储存过程,函数,触发过程
查看>>
mysql查询总成绩的前3名学生信息
查看>>
mysql查询慢排查
查看>>
MySQL查询报错ERROR:No query specified
查看>>
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>
mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
查看>>
MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
查看>>
mysql查询超时对PHP执行的影响
查看>>
mysql查询输出到excel文件_如何保存mysql查询输出到excel或.txt文件?
查看>>
mysql查询过程
查看>>
MySQL模拟Oracle序列sequence
查看>>
Mysql模糊查询like效率,以及更高效的写法
查看>>