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 子句,則 Microsoft Access 資料庫引擎會在將 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 子句中指定包含 [備忘] 或 [OLE 物件] 資料的欄位,則會發生錯誤。 Microsoft Access 資料庫引擎不會在這些類型的欄位上進行排序。
ORDER BY 通常是 SQL 陳述式中的最後一個項目。
您可以在 ORDER BY 子句中包含其他欄位。 記錄會先根據 ORDER BY 之後列出的第一個欄位進行排序。 在該欄位中具有相同值的記錄會接著根據列出的第二個欄位中的值進行排序,依此類推。