SQL排序语句,将表中检索出来的数据按照想要的结果进行排序!

一、简介

经常用Excel的朋友就明白,很多时候我们为了更直观的查看表格的某一些数据,经常都会用到排序这一功能。同样的,在SQL中也有排序这一功能,叫ORDER BY字句,原理很简单,就是将SELECT语句检索出来的数据按照特定的要求进行排序。OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

二、常用语法

1、实例OGb每天发布大量与生活相关的资讯平台

有一个人员信息表,表名称Prodrate、主要的列有(id、LastName、FirstName、age、class等字段)OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

01 我们先来看一个没有使用ORDER BY字句进行排序的查询结果OGb每天发布大量与生活相关的资讯平台

输入OGb每天发布大量与生活相关的资讯平台

SELECT Lastname FROM ProdrateOGb每天发布大量与生活相关的资讯平台

输出结果OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

展开全文
OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

说明OGb每天发布大量与生活相关的资讯平台

其实,检索查询出来的数据并不是随机显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺序。OGb每天发布大量与生活相关的资讯平台

02 下面我们看一下使用了ORDER BY字句排序后Lastname列中的数据显示结果OGb每天发布大量与生活相关的资讯平台

输入OGb每天发布大量与生活相关的资讯平台

SELECT Lastname FROM ProdrateOGb每天发布大量与生活相关的资讯平台

ORDER BY LastnameOGb每天发布大量与生活相关的资讯平台

输出结果OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

说明OGb每天发布大量与生活相关的资讯平台

通过上图我们可以看出,使用了ORDER BY子句后的查询结果是按字母顺序和相同的字符进行排序的,这样的查询结果看上去特别舒服。注意:在指定ORDER BY子句时,应保证它是SELECT语句中最后一条语句,否则会报错。OGb每天发布大量与生活相关的资讯平台

二、ORDER BY子句应用场景

01 指定排序方向OGb每天发布大量与生活相关的资讯平台

描述:和Excel一样SQL也有升序和降序两种排序。OGb每天发布大量与生活相关的资讯平台

关键字:DESCOGb每天发布大量与生活相关的资讯平台

语法:SELECT 列名 FROM 表 ORDER BY 指定列名OGb每天发布大量与生活相关的资讯平台

问题:查询实例中的Prodrate表,将age字段中的学生年龄按降序来排序,最大的年龄值显示在最上面;OGb每天发布大量与生活相关的资讯平台

输入OGb每天发布大量与生活相关的资讯平台

SELECT age FROM ProdrateOGb每天发布大量与生活相关的资讯平台

ORDER BY age DESCOGb每天发布大量与生活相关的资讯平台

输出结果OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

分析OGb每天发布大量与生活相关的资讯平台

通过查询结果可以看出,使用了DESC关键字后,查询结果以降序的方式进行排序,这里需要特别说明一点,DESC相对应的另外一个关键字ASC是升序,但是它并没有使用的意义,因为使用ORDER BY字句时它是默认按升序来显示查询结果的。OGb每天发布大量与生活相关的资讯平台

02 按多个列排序OGb每天发布大量与生活相关的资讯平台

描述:前面我们用的ORDER BY字句都是按单个列排序的,但它并不只有单列排序,还可以多列排序。OGb每天发布大量与生活相关的资讯平台

语法:SELECT 列名1,列名2 FROM 表 ORDER BY 指定列名1,指定列名2OGb每天发布大量与生活相关的资讯平台

问题:查询实例中的Prodrate表,将LastName、FirstName、age这3个字段中的数据显示出来并按升序方式进行排序OGb每天发布大量与生活相关的资讯平台

输入OGb每天发布大量与生活相关的资讯平台

SELECT LastName,FirstName,age FROM ProdrateOGb每天发布大量与生活相关的资讯平台

ORDER BY LastName,FirstName,ageOGb每天发布大量与生活相关的资讯平台

输出结果OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

分析OGb每天发布大量与生活相关的资讯平台

这里需要明白一点,当你对多列数据进行排序时,它的排序规则是按顺序和规定进行的。OGb每天发布大量与生活相关的资讯平台

对于上述例子中的输出,只有当第一列的数据相同时,第二列的数据才会发生改变。OGb每天发布大量与生活相关的资讯平台

例如,LastName列中第一行和第二行的数据不同,系统则不会按第二和第三列的数据去排序,而是按第一列的数据规则进行排序,所以age第一行和第二行的数据没有升序。OGb每天发布大量与生活相关的资讯平台

又例如,LastName列中第3行的数据相同,但两个Yao是哪个放上面呢,就得看第二列的数据规则了,如果第二列不同,则按第二列的规则进行排序,相同则按第三列的规则进行排序,当然,如果第一列和第二列的所有值都是唯一的,第三列的数据则不会发生改变。OGb每天发布大量与生活相关的资讯平台

03 按列位置排序OGb每天发布大量与生活相关的资讯平台

描述:这个和按指定列排序是一样的结果,好处就是不用重复输入列名,直接用数字1234来代表列的位置,但缺点是如果列发生改变,就要更改数字,如果忘记,将会导致排序不规范、错误等问题。OGb每天发布大量与生活相关的资讯平台

语法:SELECT 所有列 FROM 表 ORDER BY 2,3OGb每天发布大量与生活相关的资讯平台

问题:查询实例中的Prodrate表所有列,仅对第2和第3列数据进行排序OGb每天发布大量与生活相关的资讯平台

输入OGb每天发布大量与生活相关的资讯平台

SELECT * FROM ProdrateOGb每天发布大量与生活相关的资讯平台

ORDER BY 2,3OGb每天发布大量与生活相关的资讯平台

输出结果OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

分析OGb每天发布大量与生活相关的资讯平台

ORDER BY 2,3的排序顺序是先对第二列LastName的数据进行排序,然后再对第3列FirstName的数据进行排序。这里需要注意一个问题ORDER BY 2,3指定的位置是按照你查询的列进行指定的,如果你查询的是一个列,然后指定二个列,查询结果会报错。例如:SELECT LastName FROM Prodrate ORDER BY 2,3这是个错误的语法。OGb每天发布大量与生活相关的资讯平台

三、总结

好了,以上是SQL排序语句的使用方法,是比较简单的一个语法,如有不懂的可以留言请教!更多SQL语法的使用持续更新中,敬请期待!OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

当然,在日常工作中我们也要养成良好的习惯,在每条查询语句末端都加个ORDER BY排序语句,这样检索出来的数据更直观,更具有分析价值。OGb每天发布大量与生活相关的资讯平台

OGb每天发布大量与生活相关的资讯平台

也许你还喜欢

ups不间断电源原理分析

当前在电源市场上,所销售的电源类型较多,不同类型的电源,相应的功能与作用有所不同。在超

空间背景音乐怎么添加图文教程分享

怎样免费添加QQ空间背景音乐其实步骤也不多,很简单,主要有以下几个步骤,详情如下

万能转换器破解版怎么用?具体操作方

万能格式转换器是一款功能强大的格式转换软件,音频、视频、图片、光驱设备都可以通过万

rmvb转mp4格式转换器图文教程

在我们日常娱乐和日常工作中,现在网络上一些高清的视频一般都是rmvb格式的,而一些播放设

支付宝网络系统异常怎么解决

支付宝支付出现网络系统异常是因为IE浏览器设置Internet选项不恰当而导致的,去重新设置

win10蓝牙驱动破解版安装图文教程

win10蓝牙驱动怎么安装?请看下面具体操作方法。

微孔抛光镜面加工计数详解

一般来说,对于小孔微孔进行抛光,传统的加工方法可能会导致孔洞磨损,或者加工效果不理想。

短视频内容管理助手有哪些?怎么好用

随着短视频的普及,越来越多的人开始将大量的时间和精力投入到短视频的制作和分享中。因

模具设计学习知识分享

今天,我想谈谈我在模具设计CAD方面的一些心得体会。作为一个从事这个行业多年的工程师,

seo优化排名软件详细介绍

1. SEMrush SEMrush,一款广受好评的SEO神器,被誉为业内最佳的SEO分析工具。功能包括全