GROUP BY: Werte zählen ungleich 0
Linuchs
- mysql
0 dedlfix
Hallo,
ich möchte die Satz-Anzahl wissen, die in einem Feld einen Wert ungleich 0 hat. Im folgenden Fall sollen 56 Wünsche und 0 Buchungen gezählt werden:
SELECT
evt1.*
,count(evb1.wunsch_event_id) evt_wuensche
,count(evb1.gebuchte_event_id) evt_buchungen
FROM tm_events AS evt1
LEFT JOIN tm_eventbuchungen AS evb1
ON evb1.wunsch_event_id = evt1.id
WHERE evt1.id = 529
GROUP BY evt1.id
Als evt_buchungen wird 56 angegeben, die Felder gebuchte_event_id enthalten aber den Wert 0. Sollten nicht gezählt werden.
Linuchs
Tach!
ich möchte die Satz-Anzahl wissen, die in einem Feld einen Wert ungleich 0 hat.
COUNT() unterscheidet auch nur zwischen NULL und NOT NULL, und 0 ist NOT NULL. Nimm lieber die Zählung in eine Correlated Subquery inklusive entsprechender Ausschlussbedingung und nicht mit Join, dann braucht es auch nicht die Group-By-Krücke.
dedlfix.