MySQL自学复盘笔记三:分组与排序


前言


1、group by 分组子语句

注意1:按某列分组后,该列信息相同的为一组,按照组显示数据,即有几组结果中显示几条数据

注意2:分组时,select显示的字段有约束条件,一般为以下两类:

①必须要有分组组名;

②后接聚合函数:例如求和sum(),求平均avg(),最大最小值max()/min(),计个数count(*)。

select 字段名 聚合函数 from 表名 group by 字段名

举个栗子:查询不同班级的学生个数

select classid '班级'count(*) '个数' from student group by classsid

结果为:


班级 个数
1 2
2 2


2、having 分组过滤子语句

注意与where的区别:
where是对每一条记录直接过滤筛选
having是对分组后的各组进行过滤筛选


select 字段名 聚合函数 from 表名 group by 字段名 having 筛选条件

举个栗子:查询班级人数大于0的班级及其学生个数

select classid '班级',count(*) '个数' from student group by classid having count(*) > 0

结果为:


班级 个数
1 2
2 2


3、order by 排序

注意:升序(默认)asc,降序desc

select 字段名 from 表名 order by 字段名

举个栗子:查询所有学生信息,并按班级号进行排序

select * from student order by classid

结果为:


id name classid
1 张三 1
3 王五 1
2 李四 2
4 赵六 2


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值