WHERE在数据分组前进行过滤,HAVING在数据分组后过滤。

HAVING可以对检索(或计算)出的结果过滤,WHERE则不行。

WHERE、聚合函数、HAVING在from后面的执行顺序:WHERE>聚合函数(sum,min,max,avg,count)>HAVING

表orders的数据如下:

+-----------+---------------------+---------+
| order_num | order_date | cust_id |
+-----------+---------------------+---------+
| 20005 | 2005-09-01 00:00:00 | 10001 |
| 20006 | 2005-09-12 00:00:00 | 10003 |
| 20007 | 2005-09-30 00:00:00 | 10004 |
| 20008 | 2005-10-03 00:00:00 | 10005 |
| 20009 | 2005-10-08 00:00:00 | 10001 |
+-----------+---------------------+---------+

计算每个cust_id的订单数,且返回订单数>=2的cust_id,这里只能使用HAVING

mysql> SELECT cust_id, COUNT(*) AS nums
         -> FROM orders
         -> group by cust_id
         -> HAVING COUNT(*) >= 2;
+---------+------+
| cust_id | nums |
+---------+------+
| 10001 | 2 |
+---------+------+

where首先排除了不符合要求的行,在此基础上可以分组、计算, 而后having可以进一步筛选前面得到的结果。

随机推荐

  1. AsyncTask 进行耗时操作和UI 更新

    相信各位对 AsyncTask 不会陌生,虽然它有如下弊端: 1. 如果在activiy内部new 一个AsyncTask, 横竖屏切换生成一个新的activity,等结果返回时,处理不好容易出现NP ...

  2. ASP.NET MVC4应用程序配置跨域访问

    开发框架是使用webapi做后台,HTML5做前台,通过ajax调用webapi后台,返回json结果. 用的编译器是visual Studio2013,下面是配置方法 1.web.config文件 ...

  3. zookeeper 启动 zookeeper_server.pid: Permission denied

    在启动zookeeper的时候 报错 没有权限 以为是 zookeeper 没有权限 然后 chmod -R 777 zookeeper/ 之后还是不行. 后来 才发现 原来是我 /tmp/zooke ...

  4. Vue框架是什么,有什么特点,怎么用

    一.Vue基本介绍 1.vue是渐进式的JavaScript框架 2.作者:尤雨溪(一位华裔前Google工程师) 3.作用:动态构建用户界面 二:Vue的特点 1.遵循MVVM模式(m->mo ...

  5. 基于Java Instrument的Agent实现

    使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.有了这样的功能,开发者就可以 ...

  6. Navicat连接mysql出现1045错误

    使用Navicat连接mysql出现1045,可能的原因为忘记密码,下面方法可以帮助重置密码. 1,以管理员权限运行cmd程序: 2,cd C:\Program Files (x86)\MySQL\M ...

  7. 派生 de rive

    ''' de rive 派生 python2 (经典类|新式类) python3 (新式类) 1. What is derive? 什么是派生? 派生:子类定义自己新的属性,如果与父类同名,以子类自己 ...

  8. Java学习笔记(4)

    比较两个String时,用==比较两个String是否引用同一个对象,s1.equals(s2)比较两个对象的内容是否相同,也可以用s1.compareTo(s2)来确定两个String的内容是否相同 ...

  9. WEB学习笔记9-添加必要的<meta>标签

    <meta>标签放置在HTML页面的head中,主要用于标示网站.其中主要包含网站的一些描述信息,如简介,作者等.这些信息有助于搜索引擎更准确地识别网页的内容,也有助于第三方工具抓取网站基 ...

  10. Autolayout Breakpoints

    articles archives team Autolayout Breakpoints Auto layout has become a crucial tool for iOS and OS X ...