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
句を使わない場合でも使用可能で, その場合は列に制約がありません.