[MySQL] ソートでnullを後ろにする
こんにちは、@yoheiMuneです。
今日は、MySQLのソートで、null値を後ろにする方法をブログに書きたいと思います。
最後になりますが本ブログでは、Swift、PHP、フロントエンド、Python、サーバー、インフラ、Node.js、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!
今日は、MySQLのソートで、null値を後ろにする方法をブログに書きたいと思います。
注意点
今回の内容は、MySQL特有の内容で、他のデータベース製品では対応方法が異なります。デフォルト挙動では、ソートでnullが先に来る
下記のように、nullについて何も考慮せずorder by
を指定すると、nullが先に表示されます。mysql> SELECT id, display_order -> FROM items -> ORDER BY display_order; +----+---------------+ | id | display_order | +----+---------------+ | 1 | NULL | | 2 | 1 | | 3 | 2 | | 4 | 3 | +----+---------------+これに対して、nullを後ろにしたい場合にどうするのか、というのがこのブログの内容です。
ソートでnull値は後ろにする
nullを後ろにするにはIS NULL ASC
という指定を利用します。mysql> SELECT id, display_order -> FROM items -> ORDER BY display_order IS NULL ASC, display_order; +----+---------------+ | id | display_order | +----+---------------+ | 2 | 1 | | 3 | 2 | | 4 | 3 | | 1 | NULL | +----+---------------+ここでは
display_order IS NULL ASC
と指定することで、nullが後ろになりました。最後に
知っておくと開発効率がちょっとアップするTipsかなと思います。こういう引き出しの多さ大切!最後になりますが本ブログでは、Swift、PHP、フロントエンド、Python、サーバー、インフラ、Node.js、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!