Access 中的 ORDER BY 子句在指定字段或按升序或降序排列的字段上对查询的结果集进行排序。

语法

SELECT fieldlistFROM tableWHERE selectcriteria[ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]]

包含 ORDER BY 子句的 SELECT 语句包含以下部分:

部分

说明

fieldlist

要与任何字段名别名、SQL 聚合函数、选择谓词(ALL、DISTINCT、DISTINCTROW 或 TOP)或其他 SELECT 语句选项一起进行检索的字段的名称。

table

从中检索记录的表的名称。

selectcriteria

选择条件。 如果语句包含 WHERE 子句,则在 WHERE 条件应用于记录之后,Microsoft Access 数据库引擎将对值进行排序。

field1, field2

要在其上对记录进行排序的字段名称。

备注

ORDER BY 是可选的。 但是,如果想让数据按已排序的顺序显示,则必须使用 ORDER BY。

默认的排序顺序为升序(A 到 Z、0 到 9)。 以下两个示例将员工姓名按照姓氏顺序进行排序:

SELECT LastName, FirstNameFROM EmployeesORDER BY LastName;
SELECT LastName, FirstNameFROM EmployeesORDER BY LastName ASC;

若要按降序顺序(Z 到 A、9 到 0)进行排序,请将 DESC 保留字添加到想要按降序顺序进行排序的每个字段的末尾。 以下示例将选择薪资,然后将它们按降序顺序进行排序:

SELECT LastName, SalaryFROM EmployeesORDER BY Salary DESC, LastName;

如果在 ORDER BY 子句中指定包含 Memo 或 OLE 对象数据的字段,则会出现错误。 Microsoft Access 数据库引擎不会对这些类型的字段进行排序。

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

可以在 ORDER BY 子句中添加其他字段。 记录首先按 ORDER BY 之后第一个字段进行排序。 然后,在该字段中具有相等值的记录将按所列的第二个字段中的值进行排序,依次类推。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。