写点什么

MySQL 基础之四:排序、分组

用户头像
打工人!
关注
发布于: 2021 年 06 月 06 日
MySQL基础之四:排序、分组

重点内容:

今天来讲一下在查询中,经常用到的排序分组函数。排序主要担任的任务:当我们想要把某个字段按照升序或者降序进行排序后再输出,这样就可以直观的看到他们的大小顺序。分组函数担任的任务:主要解决的就是一些数学上的统计计算问题,比如求个平均值啊、计算个记录的总条数啊、求最大值和最小值等。下面就一个一个的介绍:

排序:

关键字:order by

升序排序:order by asc=order by , 也就是说在不说明是升序还是降序排列时,order by 默认是升序

降序排序:order by desc

小贴士:数字可以升降序,字符串也可以进行升降序排列

  • 按照工资进行降序排序,如果工资一样的话,按照姓名进行升序排序

select ename,sal from emp order by sal desc,ename asc;
复制代码


小贴士:哪个字段最先参与排序,谁的优先级高,当这个最高优先级的字段无法参与排序时,再按照次优先级进行排序。

  • 找出工作岗位是 SALESMAN 的员工,并且按照薪资进行降序排序

select ename,job,sal from emp where job='SALESMAN' order by sal desc;
复制代码


分组函数:

下面来介绍分组函数:

小贴士:所有的分组函数都是对“一组数据”进行操作的。分组函数又叫多行处理函数,自动忽略 null 值

分组函数只有 5 个:

  • count:计数

  • sum:求和

  • avg: 求平均值

  • max:求最大值

  • min: 求最小值

  • 求表中记录总条数

select count(*) from emp;
复制代码


  • 统计 comm 字段中不为 null 值的记录条数

select count(comm) from emp;
复制代码


小贴士:分组函数会自动忽略 null 值,因此上面的查询结果是 4,因此 count(字段名)可以过滤空值。

  • 如果分组函数一起使用会是什么样的呢?

select count(*),min(sal),max(sal),avg(sal),sum(sal) from emp;
复制代码


小贴士:每个分组函数输出的是一个值哦!

发布于: 2021 年 06 月 06 日阅读数: 11
用户头像

打工人!

关注

打工人! 2019.11.10 加入

InfoQ年度最佳内容获得者。 InfoQ签约作者 本人打工人一枚,自动化和控制专业入坑人一枚。目前在研究深度强化学习(DRL)技术。准备入坑互联网小白一枚。喜欢了解科技前沿技术,喜欢拍照。

评论

发布
暂无评论
MySQL基础之四:排序、分组