J'ai un jeu de données où il est assez courant que les champs aient NULL
comme valeur valide. Cela provoque un problème lorsque je veux utiliser l'opérateur ROLLUP
dans MySQL, car je ne peux pas faire la distinction entre les valeurs NULL
qu'il génère dans ses sous-totaux/totaux et les valeurs réelles NULL
dans les données.Sommaire MySQL lorsque certaines colonnes incluent des valeurs NULL
Ma requête actuelle est la suivante:
SELECT
COALESCE(car_score, "Total") AS car_score,
COUNT(DISTINCT id) AS volume
FROM cars_table
GROUP BY
car_score ASC WITH ROLLUP;
Cela me donne le tableau suivant:
cars_score | volume
---------------------------
Total | 500
1 | 100
2 | 200
3 | 300
4 | 400
5 | 500
Total | 2000
quand je voudrais que ce soit:
cars_score | volume
---------------------------
NULL | 500
1 | 100
2 | 200
3 | 300
4 | 400
5 | 500
Total | 2000
Cette est un exemple simple, et il devient plus frustrant une fois que j'ai plusieurs dimensions pour le ROLLUP
. La raison pour laquelle je ne peux pas simplement changer la valeur de NULL
avant quelque chose d'autre est que je dois aussi pouvoir agréger les données dans d'autres parties de l'application, donc avoir un bon NULL
est important pour moi.
Cela fonctionne très bien! Le seul problème est qu'il va créer plus de travail pour moi car je crée dynamiquement le SQL, mais c'est un bon problème à avoir. Merci! – koend