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 子句,則 Microsoft Access 資料庫引擎會在將 WHERE 條件套用到記錄後,對值進行排序。

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 子句中指定包含 [備忘] 或 [OLE 物件] 資料的欄位,則會發生錯誤。 Microsoft Access 資料庫引擎不會在這些類型的欄位上進行排序。

ORDER BY 通常是 SQL 陳述式中的最後一個項目。

您可以在 ORDER BY 子句中包含其他欄位。 記錄會先根據 ORDER BY 之後列出的第一個欄位進行排序。 在該欄位中具有相同值的記錄會接著根據列出的第二個欄位中的值進行排序,依此類推。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。