【ORDER BY句】抽出したデータを整理する

はじめに

前回の「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で指定して、ランキングを作ってみることから始めてみてください!