広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 39 / 50

複数列でのORDER BY(複数条件の並び替え)

このレッスンでは、複数列を使ったORDER BYの並び替えを学び、2段階以上の優先順位で結果を並べられるようになることを目標にします。「SQL ORDER BY 複数列」で調べている方向けの内容です。

ORDER BY 列1, 列2のように複数の列を指定すると、「クラスごとに並べて、さらにクラスの中では点数順」のように、2段階以上の条件で並び替えられます。

サンプルコードでは、ORDER BY class_id ASC, score DESCという指定で、まずクラスIDの昇順で並べ、同じクラスの中ではさらに点数の降順で並べています。最初の列で同じ値が並んだ行がある場合に、次の列で細かく並び替える、という優先順位のルールで動きます。

初心者がよくつまずくのが、複数列を指定したときに、それぞれの列で昇順・降順を別々に指定できることに気づかないことです。ASCDESCは列ごとに個別に指定でき、この例のように片方は昇順、もう片方は降順、という組み合わせもよく使われます。

名簿の並び替えなど、実務のレポート作成でも頻繁に使われる書き方で、列ごとに昇順・降順を変えることもできます。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
複数の条件を優先順位付きで並び替えられるようになります。
広告スペース(バナー)
広告スペース(記事内)