SQL ORDER BY

ORDER BYキーワードは、結果セットを昇順または降順に並べ替えるために使用されます。

価格で商品を並べ替えます:

SELECT * FROM Products
ORDER BY Price;

構文


SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

デモデータベース

以下は例で使用されるProductsテーブルからの一部です:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 – 12 oz bottles 19
3 Aniseed Syrup 1 2 12 – 550 ml bottles 10
4 Chef Anton’s Cajun Seasoning 2 2 48 – 6 oz jars 22
5 Chef Anton’s Gumbo Mix 2 2 36 boxes 21.35

DESC

ORDER BYキーワードはデフォルトでレコードを昇順に並べ替えます。レコードを降順に並べ替えるには、DESCキーワードを使用します。

商品を価格の高い順に並べ替えます:

SELECT * FROM Products
ORDER BY Price DESC;

アルファベット順

文字列値の場合、ORDER BYキーワードはアルファベット順に並べ替えます:

商品をProductNameでアルファベット順に並べ替えます:

SELECT * FROM Products
ORDER BY ProductName;

アルファベット順の降順

テーブルを逆アルファベット順に並べ替えるには、DESCキーワードを使用します:

商品をProductNameで逆順に並べ替えます:

SELECT * FROM Products
ORDER BY ProductName DESC;

複数列でのORDER BY

次のSQL文は、”Customers”テーブルのすべての顧客を、”Country”および”CustomerName”列で並べ替えて選択します。これは、Countryで並べ替え、同じCountryを持つ行がある場合はCustomerNameで並べ替えます:

SELECT * FROM Customers
ORDER BY Country, CustomerName;

ASCとDESCの両方を使用

次のSQL文は、”Customers”テーブルのすべての顧客を、”Country”で昇順に、”CustomerName”で降順に並べ替えて選択します:

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;