Ich versuche gerade eine Aggregation mittels GROUP BY bei der es darum geht auch leere Gruppen anzuzeigen.
Szenario:
Ich habe eine Tabelle in der ich eine Zuordnung vornehme, ich ordne einem item eine gruppe zu
tbl_Item_Gruppe
item_id, gruppe_id
Eine weitere Tabelle die Informationen enthält über die Items
tbl_Item
item_id, datum, ....
Nun möchte ich eine GROUP BY Aggregation über die Gruppe und das Datum haben
D.h. eine Ausgabe über die Anzahl der Items pro Monat,
Mit
bekomme ich zwar die halbwegs gewünschte Aggregation, aber da ich nicht jeden Monat alle Gruppen "gefüllt" habe, bekomme ich nicht in jedem Monat die gleiche Anzahl an Gruppen-Item-Anzahl Zuweisungen. Weil die in denen der Count "0" ist natürlich raus fallen.
Meine Frage ist nun wie ich das geschickt lösen kann.
Dankeschön
Szenario:
Ich habe eine Tabelle in der ich eine Zuordnung vornehme, ich ordne einem item eine gruppe zu
tbl_Item_Gruppe
item_id, gruppe_id
Eine weitere Tabelle die Informationen enthält über die Items
tbl_Item
item_id, datum, ....
Nun möchte ich eine GROUP BY Aggregation über die Gruppe und das Datum haben
D.h. eine Ausgabe über die Anzahl der Items pro Monat,
Mit
Code:
SELECT
DATE_FORMAT(datum, '%Y-%m') AS 'datum',
gruppe_id,
COUNT(*) AS 'anzahl'
FROM tbl_Item
LEFT JOIN tbl_Item_Gruppe ON (tbl_Item.item_id = tbl_Item_Gruppe.item_id)
GROUP BY DATE_FORMAT(datum, '%Y-%m'), gruppe_id
bekomme ich zwar die halbwegs gewünschte Aggregation, aber da ich nicht jeden Monat alle Gruppen "gefüllt" habe, bekomme ich nicht in jedem Monat die gleiche Anzahl an Gruppen-Item-Anzahl Zuweisungen. Weil die in denen der Count "0" ist natürlich raus fallen.
Meine Frage ist nun wie ich das geschickt lösen kann.
Dankeschön