MySQL: Summe oder 0 wenn kein Datensatz existiert
Frage von Gast | 04.11.2015 um 10:04
Ich möchte die Summe aller Werte aus einer Spalte in meiner MySQL-Datenbank auslesen. Dazu benutze ich folgende Abfrage.
SELECT SUM(col) FROM tab WHERE ...
Wenn die Abfrage Datensätze findet, gibt es kein Problem, es wird die korrekte Summe ausgelesen.
Problematisch wird es aber immer dann, wenn kein Datensatz gefunden wird. Dann ist das Ergebnis der Abfrage nämlich NULL. Ich würde aber lieber 0 anstatt von NULL bekommen. Geht das irgendwie?
Ähnliche Themen
MySQL/PHP: ID vom letzten INSERT auslesen
Info | 0 Kommentare
SQLite: Überprüfen ob Tabelle existiert
Info | 0 Kommentare
MySQL: Zufälligen Eintrag aus Tabelle auswählen
Tipp | 0 Kommentare
MySQL: Aktuelles Datum oder Zeit in Spalte schreiben
Tutorial | 0 Kommentare
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
SQLite: Index über eine oder mehrere Spalten anlegen
Info | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Du kannst zum Beispiel die Funktion COALESCE oder IFNULL benutzen und deine Abfrage folgendermaßen ändern:
COALESCE gibt den ersten der übergebenen Parameter aus, der nicht NULL ist. Das heißt: Wenn SUM(col) NULL ist, wird 0 zurückgegeben. Ähnlich arbeitet auch IFNULL(). Falls der erste Parameter von IFNULL() NULL ist, wird der zweite Parameter zurückgeben, ansonsten der erste.
04.11.2015 um 20:25