Access の ORDER BY 句は、クエリの結果のレコードを、指定した 1 つまたは複数のフィールドで昇順または降順に並べ替えます。
構文
SELECT fieldlist
FROM table 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 番目のフィールドの値で並べ替えられます。