Access 中的 ORDER BY 子句在指定字段或按升序或降序排列的字段上对查询的结果集进行排序。
语法
SELECT fieldlist
FROM table WHERE 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, 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 子句中指定包含 Memo 或 OLE 对象数据的字段,则会出现错误。 Microsoft Access 数据库引擎不会对这些类型的字段进行排序。
ORDER BY 通常是 SQL 语句中的最后一项。
可以在 ORDER BY 子句中添加其他字段。 记录首先按 ORDER BY 之后第一个字段进行排序。 然后,在该字段中具有相等值的记录将按所列的第二个字段中的值进行排序,依次类推。