SQLのORDER BYについて
ORDER BYで特定文字列が含まれている場合に後ろにするやり方をメモ。
「CASE」という関数を使うらしい。というか基本的なことっぽい...?
SELECT * FROM テーブル名 WHERE '特定の条件' ORDER BY (CASE WHEN フィールド名 LIKE '特定の文字列' THEN 0 ELSE 1 END);
のように書けば特定の文字を先頭にもっていくことができる。
SELECT * FROM テーブル名 WHERE '特定の条件' ORDER BY (CASE WHEN フィールド名 LIKE '特定の文字列' THEN 1 ELSE 0 END);
逆にこうすれば後ろに持っていくことができる。
これはよく使うSQLだ!と思ったが、そもそもこんなソートをしなくてもいいように設計するべきですよね...。
精進が必要です。