Mysql分组语句group by与having的用法
Mysql分组语句group by与having的用法
group by语句就是把某一列相同值,或多列组合相同值做分组,通常与count(计数),sum(求和),max(求最大值),min(求最小值),avg(平均值)函数一起使用,对于函数计算出来的结果值再做筛选的话,这个时候咱们就需要用到havingy语句了,今天咱们就来看看Mysql分组语句group by与having的用法。
- 列1:查询性别为男,女,妖分别总共有多少人,且总人数大于2的性别。
select sex,count(*) from person group by sex;
select sex,count(*) from person group by sex having count(*) > 2;
- 列2:查询性别为男,女,妖分别总共有多少岁,且总岁数大于100的性别。
select sex,sum(age) from person group by sex;
select sex,sum(age) from person group by sex having sum(age) > 100;
- 列3:查询性别为男,女,妖中年龄最大的多少岁
select sex,max(age) from person group by sex;
- 列4:查询性别为男,女,妖中年龄最小的多少岁
select sex,min(age) from person group by sex;
- 列5:查询性别男,女,妖各平均年龄,且平均年龄大于30岁的性别
select sex,avg(age) from person group by sex having avg(age) > 30;