ホームページ > データベース > mysql チュートリアル > すべての行を保持しながら GROUP BY クエリから NULL 値を除外する方法

すべての行を保持しながら GROUP BY クエリから NULL 値を除外する方法

DDD
リリース: 2024-12-24 09:13:54
オリジナル
209 人が閲覧しました

How to Exclude NULL Values from GROUP BY Queries While Preserving All Rows?

NULL 値を除外する GROUP BY クエリ

GROUP BY 関数を使用してデータを集計する場合、NULL 値を除外する必要があるシナリオが発生する可能性があります。グループ化操作からの NULL 値。これは通常、指定したフィールド内の NULL 値を持つすべての行を保持したい場合に発生します。

これを実現するには、NULL 値を一意の識別子に置き換える方法が 1 つあります。これは、IFNULL() 関数を使用して実行できます。

SELECT `table1`.*, 
    IFNULL(ancestor,UUID()) AS `unq_ancestor`,
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1` 
WHERE (enabled = 1) 
GROUP BY unq_ancestor
ログイン後にコピー

この例では、NULL 祖先を一意の UUID() 値に置き換えます。これにより、NULL の祖先がグループ化されなくなり、祖先フィールドの値に関係なく、クエリはすべての行を返します。

以上がすべての行を保持しながら GROUP BY クエリから NULL 値を除外する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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