はじめに
前回の「WHERE句」で、膨大なデータから必要な「行」を抜き出すことができました。
しかし、抽出されたデータがバラバラに並んでいたら、結局そこから一番高い商品を探す手間が発生してしまいます。
そこで登場するのがORDER BY句です。
これを使えば、Excelのソート機能のように、一瞬でデータを整列させることができます。
1.ORDER BY句の基本
ORDER BY句は、指定したカラムを基準に、抽出したレコードを昇順・降順に並べ替えることができます。
SELECT
product_name, price
FROM
`test.products`
ORDER BY
price DESC;
ORDER BY句は、SQL文の最も最後に記述します。
2.表の並びをコントロールする
試しに、価格が5,000円以上の商品を『価格が高い順』並べて変えてみましょう。
SELECT
product_name,
price
FROM
`test.products`
WHERE
price >= 5000
ORDER BY
price DESC;
このSQLを実行することで、下記のようにデータが抽出されます。

グリーン枠:
ORDER BY句で指定された『並べ替えの基準』となるカラムとそのデータです。
ORDER BY句で『price DESC』を指定することによって、下記のように『価格が高い順』にレコードが並び替えられた状態で、データが出力されます。
※DESCは降順(数値が大きい順)という意味です。

3.「昇順(ASC)」と「降順(DESC)」の使い分け
並べ方には2つの方向があります。
| 命令 | 読み | 意味 | 活用例 |
| DESC | デスク | 降順(大きい順) | 売上ランキング、最新の日付 |
| ASC | アスク | 昇順(小さい順) | 価格の安い順、古い日付、五十音順 |
※何も書かない場合は、自動的に「ASC(小さい順)」になります。
まとめ
WHERE句で「絞り込み」、ORDER BY句で「整える」。
この2つが組み合わさることで、生データは初めて「会議でそのまま使えるレポート」へと進化します。
まずは、自分の気になるカラムをDESCで指定して、ランキングを作ってみることから始めてみてください!