ORDER BY 子句

按照递增或递减顺序在指定字段中对查询的结果记录进行排序。

语法

SELECT 字段表
    FROM 表
    WHERE选择准则
    [ORDER BY字段1 [ASC | DESC ][, 字段2 [ASC | DESC ]][, ...]]]

包含 ORDER BY 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名, SQL 合计函数s, 选择断定 (ALL, DISTINCT, DISTINCTROW TOP)或其他 SELECT 语句 选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
selectcriteria 选择准则。如果此 语句 包含一个 WHERE 子句, Microsoft Jet数据库引擎 会在记录上应用WHERE条件,然后把值排序。
field1, field2 要排序记录的字段名。

说明

ORDER BY 是可选的。不过,如果要将数据以排序时的顺序显示出来,就必须使用 ORDER BY。

缺省排序顺序是升序 (A至 Z, 0至 9).以下两个示例都用雇员的姓对雇员姓名排序:

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName;

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName ASC;

为按递减顺序排序(Z 至 A,9 至0),必须将 DESC 保留字添加到要递减排序的每一字段的尾部。下例选择雇员薪金并对雇员用递减顺序排序。

SELECT LastName, Salary

FROM Employees

ORDER BY Salary DESC, LastName;

如果你在ORDER BY 子句中标明了包含 MemoOLE Object数据的一个字段,一个错误就产生了。Microsoft Jet 数据库引擎不对这些类型的字段排序。

ORDER BY通常是 SQL 语句中最后一项。

ORDER BY 子句可包含添加的字段。首先用 ORDER BY之后列举的第一个字段对记录排序。然后对此字段中等值的记录用第二字段列举的值进行排序,依此类推。

请参阅
ALL、DISTINCT、DISTINCTROW、TOP 谓词(Microsoft Jet SQL) SELECT 语句 (Microsoft Jet SQL)
FROM 子句 (Microsoft Jet SQL) SELECT...INTO 语句(Microsoft Jet SQL)
GROUP BY 子句 (Microsoft Jet SQL) SQL 合计函数(SQL)
HAVING 子句 (Microsoft Jet SQL) WHERE 子句 (Microsoft Jet SQL)

示例

ORDER BY 子句示例