SQL ORDER BY 条件

全ては時の中に… : 【SQL】ORDER BY句に指定する項目を条件によって変更する

 SELECT * FROM 商品テーブル

  ORDER BY CASE WHEN 優先 IS NOT NULL THEN 整列順序 END,

           商品分類, 商品コード

postgresqlもok

http://memo.jj-net.jp/250

  • ORDER BY句には条件式が記述できます.
  • booleanの値をソートした場合 true は false より高い(大きい)値としてソートされます.

SELECT * from foo order by (i is null), i desc;

IN句の順番に並べる

SELECT * FROM foo WHERE id IN (100, 90, 95) ORDER BY CASE id WHEN 100 THEN 0 WHEN 90 THEN 1 WHEN 95 THEN 2 ELSE 0 END;