group by,having查询 ”每**“的查询

来源:互联网 发布:python 均线策略 编辑:程序博客网 时间:2024/05/23 13:56

1, group by,having关键字

group by分组,having限制组中的元素。

举例子说明:查询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 子句去掉不符合条件的组。
Group by 会把某一列相同的行放到一起,然后返回一行,如果查询的字段导致需要返回多行那么就会报错。

having子句相关的重点。--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。--having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。

阅读全文
0 0
原创粉丝点击