Ich habe ein Dataset, in dem es Felder gibt, die normalerweise NULL
als gültigen Wert haben. Dies führt zu einem Problem, wenn ich den ROLLUP
-Operator in MySQL verwenden möchte, da ich nicht zwischen den NULL
-Werten, die er als Teil seiner Zwischensummen/Summen generiert, und den tatsächlichen NULL
-Werten in den Daten unterscheiden kann.MySQL-Rollup, wenn einige Spalten NULL-Werte enthalten
Meine aktuelle Abfrage ist wie folgt:
SELECT
COALESCE(car_score, "Total") AS car_score,
COUNT(DISTINCT id) AS volume
FROM cars_table
GROUP BY
car_score ASC WITH ROLLUP;
Dies bietet mir mit der folgenden Tabelle: Diese
cars_score | volume
---------------------------
NULL | 500
1 | 100
2 | 200
3 | 300
4 | 400
5 | 500
Total | 2000
:
cars_score | volume
---------------------------
Total | 500
1 | 100
2 | 200
3 | 300
4 | 400
5 | 500
Total | 2000
wenn ich kann es sein mag ist ein einfaches Beispiel, und es wird frustrierender, wenn ich mehrere Dimensionen für die ROLLUP
habe. Der Grund, warum ich den Wert nicht einfach auf etwas anderes ändern kann, ist, dass ich auch in der Lage sein muss, die Daten in anderen Teilen der Anwendung zu aggregieren, so dass eine korrekte NULL
für mich wichtig ist.
Das funktioniert super! Das einzige Problem ist, dass es mehr Arbeit für mich schafft, da ich das SQL dynamisch erstelle, aber es ist ein gutes Problem. Vielen Dank! – koend