3.4 並び替え

データベースに保存されているデータは, レコードの並び順をあまり気にしない事が多いです. しかし, 数値の大きい順 (降順), 小さい順 (昇順) にソートして出力したい場合もあります. ORDER BY 句は, 特定の列の値でレコードをソートします. 今回は, 部署別に集計した平均年齢の高い順, つまり降順に並び替えてみましょう. デフォルトでは昇順になるため, 列名の後ろに DESC と書きます. これは “descending” の略です. 昇順は ascending の略である ASC ですがデフォルトなので必ずしも書く必要はありません.

SELECT
  department_ID, 
  AVG(age)
FROM
  <DB>.employees
GROUP BY department_id
ORDER BY AVG(age) DESC
;

ORDER BY による並び替えは, やはりカンマで区切ることで複数の列でソートできます. また, GROUP BY 句に含まれる列でなければなりません. GROUP BY 句を使わない場合でも使用可能で, その場合は列に制約がありません.