MySQL--聚合函数、分组

mac2022-06-30  86

聚合函数

count 统计总数

select count(*) as 女性人数 from student where gender='女';//查询女性总人数

max最大值

select max(age) as 年龄最大 from student; select max(height) from student where gender='女';//查询最高身高的女性

sum 求和

select sum(age) from student;//所有人的年龄总和

avg 平均值

select avg(age) from student;//所有人的年龄平均值

round 四舍五入 round(123.23,2)小数点保留2位

select round(avg(height),2) from student where gender='男';//计算男性平均身高 保留2位小数

分组 group by

分组一般与聚合函数一起使用 计算每种性别的人数

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

计算男性人数

select gender,count(*) from student where gender='男' group by gender;

group_concat(…) 查询同种性别中的姓名

select gender,group_concat(name) from student where gender='男' group by gender; select gender,group_concat(name,"_",age," ",id) from student where gender='男' group by gender;

having 对分组后 条件再过滤 查询平均年龄超过30岁的性别,以及姓名 having avg(age)>30

select gender,group_concat(name),avg(age) from student group by gender having avg(age) > 30;

查询每种性别中人数多于2个的信息

select gender,group_concat(name) from student group by gender having count(*) >2;

where 与having区别: where是对原表区过滤判断 having是原表区分组后再过滤判断

最新回复(0)