SQLのorder byで複数条件を指定する union allとサブクエリで複雑な条件にも対応
  • facebookページ
  • twitterページ
  • 2020.05.30

    SQLのorder byで複数条件を指定する union allとサブクエリで複雑な条件にも対応

    SQLのorder byで複数カラム指定する方法についてまとめています。

    order byで複数条件を指定するにはカラムを列挙する

    以下のSQLは、employees(社員)テーブルの全カラムを、emp_no(社員番号)降順、first_name(名)昇順、hire_date(雇用日)昇順で10件取得するSQLです。

    order byの後ろにソートしたいカラムを並べて記述すれば良いんですね。カラム毎に昇順(ASC)と降順(DESC)をそれぞれ指定できます。

    【関連記事】
    SQL order byでソート指定するサンプルコード集 指定のレコードだけ先頭に並べるには? 

    複数のselect文でorder byを指定するサンプルコード

    複雑な条件で抽出したレコードをorder byでソートするには、サブクエリ内でunion allして統合してからorder byでソート指定します。

    以下のSQLは、誕生日が1970年1月1日以降の女性と誕生日が1960年1月1日以前の男性のレコードを取得し、姓名の姓(last_name)と、社員番号(emp_no)でソートする例です。

    まとめ

    ポテパンダの一言メモ
    • 複数の並べ替え条件を指定するには、order byの後に複数のカラムを記述する
    • カラムごとにdesc、ascの並び順指定が可能
    • 複数のselect文の結果をorder byするにはunian allとサブクエリを組み合わせる


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE