码迷,mamicode.com
首页 > 其他好文 > 详细

group by 列 聚合函数 where having

时间:2020-05-31 19:59:11      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:不能   它的   --   HERE   group by   sage   ssid   select查询   sel   

select sum(tsage),

  性别=tsgender,

  人数=count(*)

from tbstudent

group by tsgender

--当使用了分组语句 group by 或者是聚合函数的时候,在select查询列表中不能再包含其它的列名(group by 分组后的数据只有一列原始数据,即分组条件的数据),除非该列同时也出现在了group by 子句中,或者该列也包含在了某个聚合函数中(聚合函数中的列为新增的列)

--------------------------------

where 是在分组前对数据进行筛选

having是分组后对数据进行筛选  

select 

  tsclassid as 班级id,

  班级人数=count(*)

from tbstudent

group by tsclassid

having count(*) > 10

 

where,其后的列是筛选一条数据,所以不能跟聚合函数,但是可以用任意列名

having 是对分组后的数据进行筛选,所以可以用聚合函数,但是不能使用未包含的列

group by 列 聚合函数 where having

标签:不能   它的   --   HERE   group by   sage   ssid   select查询   sel   

原文地址:https://www.cnblogs.com/boentouch/p/13020427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!