ホームページ >データベース >mysql チュートリアル >NULL 値を含む MySQL 結果を最後にソートするにはどうすればよいですか?

NULL 値を含む MySQL 結果を最後にソートするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 00:29:09984ブラウズ

How to Sort MySQL Results with NULL Values Last?

Null 値を含む MySQL 結果を最後に並べる方法

MySQL 結果を数値列で並べ替える場合、Null 値はそのままでは問題になる可能性がありますゼロとして扱われます。これにより、null 値が非 null 値の前に表示される、予期しない順序付けが発生する可能性があります。

この問題に対処するために、MySQL は、null 値を最後にソートできる文書化されていない構文を提供します。これは、列名の前にマイナス記号 (-) を配置し、ASC を DESC に切り替えることで実現されます。

SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC

この構文は基本的に位置 DESC の順序を反転し、同じ順序を維持しながら null 値を最後に配置します。 null 以外の値。

たとえば、次のデータがある場合:

NULL, NULL, NULL, 1, 2, 3, 4

使用標準の ORDER BY Position ASC, id DESC ステートメントの結果は次のようになります。

NULL, NULL, NULL, 1, 2, 3, 4

ただし、-position DESC 構文を使用すると、目的の順序が生成されます。

1, 2, 3, 4, NULL, NULL, NULL

この文書化されていない構文は、次のようになります。これは、MySQL の結果で null 値が最後にソートされるようにする便利な方法です。これは標準の SQL 機能ではなく、すべてのデータベース システムでサポートされているわけではないことに注意することが重要です。

以上がNULL 値を含む MySQL 結果を最後にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。