目录

SQL Order by 关键字


SQL 排序

这个ORDER BY关键字用于按升序或降序对结果集进行排序。

示例

按价格对产品进行排序:

SELECT * FROM Products
ORDER BY Price;
亲自试一试 »

语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;


演示数据库

以下是选自产品示例中使用的表:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35


DESC

这个ORDER BY默认情况下,关键字按升序对记录进行排序。要按降序对记录进行排序,请使用 DESC关键字。

示例

将产品从最高价格到最低价格排序:

SELECT * FROM Products
ORDER BY Price DESC;
亲自试一试 »

按字母顺序排列

对于字符串值ORDER BY关键字将按字母顺序排列:

示例

按产品名称的字母顺序对产品进行排序:

SELECT * FROM Products
ORDER BY ProductName;
亲自试一试 »

按字母顺序 DESC

要按字母顺序对表进行反向排序,请使用DESC关键字:

示例

按产品名称倒序对产品进行排序:

SELECT * FROM Products
ORDER BY ProductName DESC;
亲自试一试 »

ORDER BY 多列

以下 SQL 语句从 "Customers" 表中选择所有客户,并按 "Country" 和 "CustomerName" 列排序。这意味着它按国家/地区排序,但如果某些行具有相同的国家/地区,则会按客户名称排序:

示例

SELECT * FROM Customers
ORDER BY Country, CustomerName;
亲自试一试 »

同时使用 ASC 和 DESC

以下 SQL 语句从 "Customers" 表中选择所有客户,按 "Country" 升序排序,并按 "CustomerName" 列降序排序:

示例

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
亲自试一试 »

通过练习测试一下

练习:

从以下列表中选择所有记录Customers表,按列的字母顺序对结果进行排序City

SELECT * FROM Customers
 ;

开始练习