ホームページ > データベース > mysql チュートリアル > MySQL で番号順に並べて NULL を最後に配置する方法は?

MySQL で番号順に並べて NULL を最後に配置する方法は?

Susan Sarandon
リリース: 2024-12-27 20:18:10
オリジナル
292 人が閲覧しました

How to Order by a Number and Place NULLs Last in MySQL?

MySQL: 数値と Null Last による順序付け

SQL クエリでは、数値フィールドによるデータの順序付けは簡単です。ただし、このようなシナリオで NULL 値を管理するには、慎重な考慮が必要です。 MySQL では、デフォルトで、ASC または DESC で順序付けするときに null 値が 0 として扱われるため、望ましくない結果が生じる可能性があります。

この問題に対処するために、MySQL は順序付けの最後に null 値を優先する型破りな構文を提供しています。句。列名の前にマイナス記号 (-) を置き、順序を反転 (ASC から DESC、またはその逆) することで、NULL の並べ替え動作を効果的に反転できます。

たとえば、 'position' という名前の列を昇順で (null 値を除く)、その後、降順で 'id' との関係を解除する場合は、次のように使用します。構文:

SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
ログイン後にコピー

この順序付けは次のシーケンスになります:

1, 2, 3, 4, NULL, NULL, NULL
ログイン後にコピー

本質的に、この構文は 'position' 列の並べ替えを反転し、null 値を最後に配置しますが、

この構文は文書化されていないため、可能性があることに注意してください。 MySQL のすべてのバージョンでサポートされているわけではありません。さらに、高度な並べ替え手法をクエリに実装する前に、ドキュメントを注意深く確認することを常にお勧めします。

以上がMySQL で番号順に並べて NULL を最後に配置する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート