mysql以性别分组,16-Mysql-Ubuntu-数据表的查询-分组与聚合(五)

分组(group by)一般与聚合结合使用

(1)查询按性别分组

select gender from students group by gender;

(2)查询按性别分组并统计每组的数量

select gender,count(*) from students group by gender;

(3)查询按性别分组并统计每组的最大年龄

select gender,max(age) from students group by gender;

20190616223545955462.png

(4)查询男性的总数

select count(*) from students where gender=1;

(5)查询男性的总数(不推荐使用,不是标准的SQL语句)

select gender,count(*) from students where gender=1;

(6)查询男性的性别字段

select gender from students where gender=1;

(7)查询男性的总数(推荐,标准SQL语句,group by 以性别分组 ,其中性别才是每组的label)

select gender,count(*) from students where gender=1 group by gender;

20190616223546389072.png

(

group_concat()用于描述每个分组内成员的信息;

having位于group by之后,后面是限定每个分组的条件,这些条件将以每个组看作单个元素,所以条件采用聚合函数.

注意区分having与where,虽然两者后面都跟限定条件,但是限定的元素却不同

)

(8)查询分组后每组平均年龄大于15的组别并输出每组成员的姓名,年龄,ID及其平均年龄;

select gender,group_concat(name,‘ ‘,age,‘ ‘,ID),avg(age) from students  group by gender having avg(age)>15;

20190616223546518960.png

(9)查询分组后每组平均年龄大于15的组别并输出每组成员的姓名,年龄,ID及其平均年龄;

select gender,group_concat(name,‘ ‘,age,‘ ‘,ID) from students group by gender having count(*)>2;

20190616223546659590.png

原文:https://www.cnblogs.com/summer1019/p/11033183.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值