首页 > 数据库技术 > 详细

16-Mysql-Ubuntu-数据表的查询-分组与聚合(五)

时间:2019-06-16 22:35:45      阅读:147      评论:0      收藏:0      [点我收藏+]

分组(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;

技术分享图片

(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;

技术分享图片

 

(

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;

技术分享图片

 

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

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

技术分享图片

16-Mysql-Ubuntu-数据表的查询-分组与聚合(五)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!