Access の ORDER BY 句は、クエリの結果のレコードを、指定した 1 つまたは複数のフィールドで昇順または降順に並べ替えます。
構文
SELECT フィールドリスト
FROM テーブル
WHERE selectcriteria
[ORDER BY field1 [ASC |DESC ][, field2 [ASC |DESC ]][, ...]]]
ORDER BY 句を使用する SELECT ステートメントには、次の指定項目があります。
| 引数 | 説明 |
|---|---|
| fieldlist | 取得する 1 つ以上のフィールドの名前。フィールド名の別名、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 の後に一覧表示される最初のフィールドで最初に並べ替えられます。 そのフィールドの値が等しいレコードは、リストされている 2 番目のフィールドの値で並べ替えられます。