探索数据宝藏:SQL升序降序排列的奇妙之旅

 2024-05-25    76  

在这一节我来讲Excel中如何通过SQL语句对数据进行排序。在Excel中如何使用SQL和SQL的初级语法见我前面的两篇文章,有问题的地方可以在评论区直接问我。本文的所有SQL都是基于下表进行操作的

学生信息表

在SQL中,一般需要用到排序,例如将上表的数据按照年龄或身高升序进行排序,即全局排序;或将年龄相同的记录按照降序排序,即局部排序。

一. 全局排序

全局排序通过ORDER BY和ASC、DESC就可以实现了。其语法如下

SELECT列名FROM表名ORDERBY列名ASC;

ASC表示升序,DESC表示降序。例如对所有数据按照年龄进行升序排序,SQL语句如下

SELECT*FROM[学生信息表$]ORDERBY年龄ASC;

执行结果如下

如果需要按多列进行排序呢? 比如按身高进行全局升序排序,如果身高相同就按年龄进行降序,SQL语句如下

SELECT*FROM[学生信息表$]ORDERBY身高ASC,年龄DESC;

这样执行结果如下

如果列数更多,以此类推。

二. 局部排序

有时候,我们需要将数据按某列进行分组,然后每一个分组内部按照某个字段进行排序。

由于在Excel的SQL中貌似不支持RANK() OVER(PARTITION BY 性别 ORDER BY 身高 DESC)这样的操作,但通过ORDER BY 列名1 ASC, 列名2 DESC这样的语句同样可以达到目的。例如将相同性别的学生进行分组,每个组内按身高进行降序排序,SQL语句可以这样写

SELECT*FROM[学生信息表$]ORDERBY性别ASC,身高DESC;

因为先按性别排序就完成了分组,然后再按身高降序排序就是需要的结果。执行结果如下

学会上面的排序方法,在Excel中基本上能满足所有排序的需求了。

  •  标签:  

原文链接:http://www.tpbz008.cn/post/54717.html

=========================================

http://www.tpbz008.cn/ 为 “电脑技术吧” 唯一官方服务平台,请勿相信其他任何渠道。

热门标签
最新留言
友情链接