group by 列 聚合函数 where having
Posted boentouch
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了group by 列 聚合函数 where having相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
数据库中,select where group by having 执行顺序