MySQL の NULL フィルタリングと並べ替え
ORDER BY を使用して MySQL でデータを並べ替える場合、NULL 値は 0 として扱われ、目的の順序付けに不一致が発生します。 。この問題に対処するには、特別な構文を使用して、並べ替えられたリストの末尾に null を強制的に配置することを検討してください。
値を昇順に並べ替えて最後に null を配置するには、次の構文を使用します:
ORDER BY -position DESC
これにより、位置列のデフォルトの ASC 順序が逆転し、実質的に NULL 値が最高値として扱われます。これを id 列の DESC 順序と組み合わせることで、目的の順序を実現できます。
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
これにより、次の順序になります。
1, 2, 3, 4, NULL, NULL, NULL
この構文は次のとおりであることに注意してください。 MySQL では文書化されていないため、すべてのバージョンで利用できるわけではありません。包括的なリファレンスについては、追加のフラグを含む ORDER BY に関する MySQL ドキュメントを参照してください。
以上が最後に NULL 値を含む MySQL データをソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。