having字句可以让我们筛选分组之后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。

而having子句在聚合后对组记录进行筛选。我的理解就是真实表中没有此数据,这些数据是通过一些函数产生的。

一、显示每个地区的总人口数和总面积.
SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region

先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中
的不同字段(一或多条记录)作运算。

二、 显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。

SELECT region, SUM(population), SUM(area)
FROM bbc
GROUP BY region
HAVING SUM(area)>1000000

在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。
相反,having子句可以让我们筛选分组后的各组数据

三、 having单独使用,与where类似

eg: 查询单笔订单充值金额大于1000的

SELECT regagent,amount FROM `cy_pay_ok`  having amount>1000 ;

SELECT regagent,amount FROM `cy_pay_ok`  where amount>1000 ;

两个查询结果一样

最新文章

  1. iOS流行的开源代码库
  2. the king of fighter
  3. WCF-复合类型使用;传输图片
  4. C/C++文件操作2
  5. LeetCode:Text Justification
  6. 从无重复大数组找TOP N元素的最优解说起
  7. 最新版本的DBCP数据源配置
  8. 你以为PHP那么好自定义升级?
  9. hdu3804(树链剖分)
  10. 计算机学院大学生程序设计竞赛(2015’12) 1003 The collector’s puzzle
  11. poj 2492 a bug's life 简单带权并查集
  12. CTF线下攻防赛
  13. 【BZOJ1212】L语言(AC自动机)
  14. 可迭代对象 TO 迭代器
  15. fork()、vfork()、clone()的区别
  16. Practical Web Penettation Testing (the first one Mutillidae 大黄蜂 之二)
  17. 【bzoj1264】[AHOI2006]基因匹配Match 树状数组
  18. java.exe和javaw.exe的区别
  19. Django 框架 Form组件
  20. Spring Cloud(Dalston.SR5)--Eureka 服务提供者

热门文章

  1. Centos 不重启 修改ulimit参数
  2. something about 乘法逆元
  3. 钟长者P71解题报告
  4. nacos启动与sql8.0的问题解决方法
  5. 3ds Max学习日记(十一)——如何给模型上贴图
  6. 使用CAS实现单点登录功能
  7. Android A/B System OTA分析(一)概览【转】
  8. deepnude | 福利
  9. asp.net core项目 Nlog直接写入集群ElasticSearch的配置方法
  10. 本地jar包上传docker容器