Maison > base de données > tutoriel mysql > Comment gérer les valeurs NULL dans les clauses GROUP BY pour inclure toutes les lignes ?

Comment gérer les valeurs NULL dans les clauses GROUP BY pour inclure toutes les lignes ?

Mary-Kate Olsen
Libérer: 2024-12-15 13:12:17
original
552 Les gens l'ont consulté

How to Handle NULL Values in GROUP BY Clauses to Include All Rows?

GROUP BY Null Handling

Lors de l'utilisation de GROUP BY pour agréger des données, il est crucial de considérer la manière dont les valeurs NULL sont traitées. Par défaut, les valeurs NULL sont regroupées, excluant potentiellement les lignes avec des valeurs manquantes.

Dans ce scénario, vous regroupez les lignes par champ ancêtre et souhaitez inclure les lignes où l'ancêtre est NULL. Pour y parvenir, vous pouvez exploiter une solution de contournement :

SELECT `table1`.*,
    IFNULL(ancestor, UUID()) AS `unq_ancestor`,
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1`
WHERE (enabled = 1)
GROUP BY `unq_ancestor`;
Copier après la connexion

La fonction UUID() génère un identifiant unique pour chaque ligne avec une valeur d'ancêtre NULL. Cela garantit que les lignes avec un ancêtre NULL se voient attribuer un identifiant unique, les empêchant d'être regroupées.

En remplaçant le champ ancêtre par unq_ancestor dans la clause GROUP BY, la requête regroupera désormais les lignes en fonction de l'identifiant unique. pour les valeurs NULL, et toutes les lignes seront incluses dans l'ensemble de résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal