关于数据库where和having的区别、group by 与having如何使用。

原创 2016年05月30日 16:11:08
--举例子说明:查询table表查询每一个班级中年龄大于20,性别为男的人数
select COUNT(*)as '>20岁人数',classid  from Table1 where sex='男' group by classid,age having age>20 
--需要注意说明:当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:
--执行where子句查找符合条件的数据;
--使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数计算每一组的值;最后用having 子句去掉不符合条件的组。
--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。
--having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。
版权声明:本文为博主原创文章,未经博主允许不得转载。

group by, where, having的使用方法和之间区别

select 后的字段,必须要么包含在group by中,要么包含在having后的聚合函数里。(?) 1、group by是分组查询,一般group by是和聚合函数配合使用       gro...
  • lsq_java_4
  • lsq_java_4
  • 2016年04月05日 23:04
  • 1590

where、having之间的区别和用法

聚合函数是比较where、having 的关键。 开门见山。where、聚合函数、having 在from后面的执行顺序: where>聚合函数(sum,min,max,avg,cou...
  • JDJH1024
  • JDJH1024
  • 2017年08月03日 19:51
  • 10583

oracle中的having ,group by ,where之间联系与区别

having子句与where有相似之处但也有区别,都是设定条件的语句。 在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执...
  • gao454917848
  • gao454917848
  • 2014年06月21日 08:36
  • 1784

Group By 和 Having, Where ,Order by语句的执行顺序:

一. group by  1.GROUP BY子句主要用于对WHERE中得到的结果进行分组,也就是说它是在WHERE子句之后执行,对经过WHERE筛选后的结果按照某些列进行分组,之后进行相应的处理工...
  • zhangyuehuan
  • zhangyuehuan
  • 2014年04月10日 22:24
  • 1142

mysql group by having用法+having where之间的区别+group by按日期分组统计的查询

以下是count,group by,having的一些用法,以图书价格表为例---所有书籍价格的统计select sum(price)总价,avg(price)均价,max(price)最高价,min...
  • zqtsx
  • zqtsx
  • 2014年12月11日 17:07
  • 3839

ON、WHERE、HAVING的区别

ON 、WHERE、HAVING都能通过限制条件筛选数据,但他们的使用及其不同。下面我们来分析三者之间的区别。 1.       ON 和WHERE         所有的查询都回产生一个中间临时报表...
  • bruceyang2009lzu
  • bruceyang2009lzu
  • 2014年08月26日 13:41
  • 4741

正确理解MySQL中的where和having的区别

以前在学校里学习过SQLserver数据库,发现学习的都是皮毛,今天以正确的姿态谈一下MySQL中where和having的区别。 误区:不要错误的认为having和group ...
  • yexudengzhidao
  • yexudengzhidao
  • 2017年02月08日 11:09
  • 4951

where子句与having子句的区别

where子句:是在分组之前使用,表示从所有数据中筛选出部分数据,以完成分组的要求,                        在where子句中不允许使用统计函数,没有group by子句也可以...
  • q1054261752
  • q1054261752
  • 2015年11月08日 22:09
  • 450

SQL中where, group by, having的用法和区别

group by,where,having 是数据库查询中最常用的几个关键字。在工作中,时常用到,那么,当一个查询中使用了where ,group by ,having及聚集函数时 ,执行顺序是怎么样...
  • Shine_rise
  • Shine_rise
  • 2017年02月08日 23:07
  • 2847

hive的strict模式;where,group by,having,order by同时使用的执行顺序

主要限制三种情况 (1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大 (2) order by 执行时只产生一个reduce...
  • longshenlmj
  • longshenlmj
  • 2015年11月02日 18:00
  • 1956
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于数据库where和having的区别、group by 与having如何使用。
举报原因:
原因补充:

(最多只允许输入30个字)