MySQL排序与分组

Posted Python数据分析之旅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL排序与分组相关的知识,希望对你有一定的参考价值。


一.MySQL排序

#查看一下我们数据表select * from xse;

MySQL排序与分组

#1.单列排序,我们按照sale_date进行数据排序select * from xse order by sale_date;

MySQL排序与分组

#1.单列排序,我们按照sale_date进行数据排序select * from xse order by sale_date;

MySQL排序与分组

#2.多列排序,我们按照sale_date,num desc进行数据排序select * from xse order by sales_A,num desc;#我们以sales_A升序排序,num降序排列#当sales_A相同时按照num降序排列

MySQL排序与分组


二.MySQL分组

#1.按照单列分组#我们筛选出每个人的销售总额mysql> select name,sum(num) -> from xse -> group by name; #筛选数据为分组名和聚合函数

MySQL排序与分组

#2.按照多列分组#我们筛选出每个员工销售各自负责产品总量mysql> select name,cat,sum(num) -> from xse -> group by name,cat;

MySQL排序与分组

#3.接下来我们做一个综合练习#筛选出上半年各个产品销售量并降序排列mysql> select cat,sum(num) -> from xse -> where sale_date between '2020-01-01' and '2021-06-30' -> group by cat -> having sum(num)>100    ->  order by sum(num) desc;
整个语句执行顺序1、from 对查询指定的表计算笛卡尔积2、where 按照where_condition过滤数据3、group by 进行分组操作4、having 按照having_condition过滤数据5、select 选择指定的列6、order by 按照order_by_condition排序

MySQL排序与分组


三.limit函数

#此处我们用成绩表练习,我们先查看一下它的数据(按照score_num降序排序)mysql> select * from score_test -> order by score_num desc;

MySQL排序与分组

#我们取成绩比较好的三门功课成绩mysql> select * from score_test -> order by score_num desc    -> limit 0,3;#检索排序后1-3行

MySQL排序与分组

#我们取排名3-5名三门功课成绩mysql> select * from score_test -> order by score_num desc -> limit 2,3;

MySQL排序与分组

#我们取第3名以后所有课成绩mysql> select * from score_test -> order by score_num desc    -> limit 2,10000;#原来的MySQL版本是可以用-1来代替,但是新版本是不行的#如果我们知道我们数据有多少行,我们可以计算出来#如果我们不知道数据有多少行,我们可以写一个很大的数字,它会自动筛选数据到末尾

#接下来我们做一个类似于前面的综合练习#我们筛选出上半年销量前2名工作人员mysql> select name,sum(num) -> from xse -> where sale_date between '2020-01-01' and '2021-06-30' -> group by name -> having sum(num)>100 -> order by sum(num) desc -> limit 2;整个语句执行顺序1、from 对查询指定的表计算笛卡尔积2、where 按照where_condition过滤数据3、group by 进行分组操作4、having 按照having_condition过滤数据5、select 选择指定的列6、order by 按照order_by_condition排序7、limit 返回指定数目记录


以上是关于MySQL排序与分组的主要内容,如果未能解决你的问题,请参考以下文章

mysql关联表分组查询多条数据

我如何分组,排序和取出mysql中的第一个N?

mySQL分组排序

Mysql 分组并排序

数据库查询分组排序

mysql 查询排序分组问题