mysql学习笔记4

数据分组

分组的实现

分组一般需要配合聚合函数使用
语法:group by 字段名
select 聚合函数 from 表名 group by 字段
select 聚合函数 from 表名 where 条件 group by 字段
select 分组字段, 聚合函数 from 表名 where 条件 group by 字段
group by 一般是配合聚合函数使用的

单字节分组

– 分别查询男女同学的数量
SELECT count() from student where sex = ‘男’;
SELECT count(
) from student where sex = ‘女’;
SELECT
sex,
count(*)
FROM
student
GROUP BY
sex;

– 分别查询 3班 不同性别学生数量
SELECT
sex,
count(*)
FROM
student
WHERE
class = 3
GROUP BY
sex;

多字节分组

分组后的排序
select 分组字段, 聚合函数 from 表名 where 条件 group by 字段 order by 字段

– 分别查询不同班级不同性别的成年学生数量, 按班级降序
SELECT
class,
sex,
count(*)
FROM
student
where age>18
GROUP BY
class,
sex
ORDER BY
class desc;

分组后数据筛选

group by 字段 having 条件

用where查询男生总数
where先筛选复合条件的记录,然后在聚合统计

SELECT count(*) from student where sex = ‘男’;

用having查询男生总数
having先分组聚合统计,在统计的结果中筛选

SELECT count(*) from student GROUP BY sex HAVING sex = ‘男’;

having 配合聚合函数的使用

求班级人数大于3人的班级名字
SELECT
class
FROM
student
GROUP BY
class
HAVING
count(*) > 3;

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值