TOP

SQL レッスン 3. データの並べ替え (ORDER BY)

将来的には、選択内容をテキストの場合はアルファベット順に、数値の場合は昇順/降順に並べ替える必要が生じる可能性があります。 このような目的のために、SQL には特別な演算子 ORDER BY があります。

SQL 演算子 ORDER BY は、小さいものから大きいものへ、つまり昇順で並べ替えることも、その逆の大きいものから小さいものへの並べ替えもできます。


1. 選択したデータを並べ替える

テーブル全体を製品の売上高、つまり [Amount] 列で並べ替えてみましょう。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

クエリによって、[金額] フィールドのレコードが昇順に並べ替えられたことがわかります。演算子の配置順序に注意する必要があります。つまり、演算子 ORDER BY はリクエストの最後に置く必要があります。そうしないと、エラー メッセージが表示されます。

また、ORDER BY 演算子の特徴は、クエリで選択しなかったフィールドによってデータを並べ替えることができることです。つまり、データがデータベース内にあれば十分です。

2. 複数のフィールドによる並べ替え

ここで、この例をさらに 1 つのフィールドで並べ替えてみましょう。これを、商品の販売場所を表示するフィールド City としましょう。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

並べ替えの順序は、クエリ内のフィールドの順序によって異なります。つまり、この場合、データは最初に Amount 列によって並べ替えられ、次に City によって並べ替えられます。

3. 仕分けの方向

デフォルトでは、ORDER BY 演算子は昇順で並べ替えますが、値を降順で書き込むこともできます。これを行うには、DESC 演算子 (単語 DESCENDING の省略形) を各フィールドの末尾に置きます。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

この例では、Amount フィールドの値が降順で並べ替えられ、City フィールドの値が昇順で並べ替えられています。 DESC 演算子は 1 つの列にのみ適用されるため、必要に応じて、並べ替えに関与する各フィールドの後にこの演算子を記述する必要があります。