SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集进行排序。
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。
SQL ORDER BY 语法
SELECT column_name,column_name
FROM table_name
ORDER BY
column_name,column_name ASC|DESC
演示数据
以默认数据库中 "Websites" 表的数据为例:
-----------------------------------------------
id mane url alexa country
1 Google https://www.google.cn/ 1 USA
2 淘宝 https://www.taobao.com/ 13 CN
3 菜鸟教程 http://www.runoob.com/ 4689 CN
4 微博 http://weibo.com/ 20 CN
5 Facebook https://www.facebook.com/ 3 USA
ORDER BY 实例
下面的 SQL 语句从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序:
命令:
SELECT * FROM WebsitesORDER BY alexa;
返回:
------------------------------------------------
id mane url alexa country
1 Google https://www.google.cn/ 1 USA
5 Facebook https://www.facebook.com/ 3 USA
2 淘宝 https://www.taobao.com/ 13 CN
4 微博 http://weibo.com/ 20 CN
3 菜鸟教程 http://www.runoob.com/ 4689 CN
ORDER BY DESC 实例
下面的 SQL 语句从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序:
命令:
SELECT * FROM WebsitesORDER BY alexa DESC;
返回:
------------------------------------------------
id mane url alexa country
3 菜鸟教程 http://www.runoob.com/ 4689 CN
4 微博 http://weibo.com/ 20 CN
2 淘宝 https://www.taobao.com/ 13 CN
5 Facebook https://www.facebook.com/ 3 USA
1 Google https://www.googleNaN/ 1 USA
ORDER BY 多列
下面的 SQL 语句从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序:
命令:
SELECT * FROM WebsitesORDER BY country,alexa;
返回:
------------------------------------------------
id mane url alexa country
2 淘宝 https://www.taobao.com/ 13 CN
4 微博 http://weibo.com/ 20 CN
3 菜鸟教程 http://www.runoob.com/ 4689 CN
1 Google https://www.googleNaN/ 1 USA
5 Facebook https://www.facebook.com/ 3 USA
ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;如上述教程最后一个例子:
1)、先将country值这一列排序,同为CN的排前面,同属USA的排后面;
2)、然后在同属CN的这些多行数据中,再根据alexa值的大小排列。
3)、ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。
例如:
order by A,B 这个时候都是默认按升序排列
order by A desc,B 这个时候 A 降序,B 升序排列
order by A,B desc 这个时候 A 升序,B 降序排列
动画演示:


