mysql count
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
antwort
anzahl
ausgeben
bedingung
benutzer
code
dank
datum
erweitern
gruppe
hilfe
leeren gruppen
leute
problem
projekt
schnelle antwort
tabelle
versuch
vier
-
Hallo Leute,
in einem Projekt von mir, habe ich eine Tabelle mit Usern(ch_users):
ID | Gruppe | Name etc.
und eine Tabelle mit Gruppen(ch_gruppen):
ID | Gruppenname
Nun wollte ich mit einer SQL-Abfrage alle Gruppen mit Anzahl der zugeordneten User ausgeben:
SELECT `ch_gruppen`.`ID`, `ch_gruppen`.`Gruppenname`, COUNT(*) AS anzahl FROM `ch_users`, `ch_gruppen` WHERE `ch_gruppen`.`ID` = `ch_users`.`Gruppe` GROUP BY `ch_gruppen`.`ID`
Mein Problem ist, dass nur die Gruppen angezeigt werden, zu denen ein oder mehrere Benutzer zugeordnet ist und die leeren Gruppen werden weggelassen.
Ich verstehe das die leeren Gruppen weggelassen werden, weiß aber nicht, wie ich die WHERE Bedingung so erweitern kann, dass die Abfrage den gewünschten effekt erzielt.
Vielen Dank für eure Hilfe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Versuch mal:
SELECT `ch_gruppen`.`ID`, `ch_gruppen`.`Gruppenname`, COUNT(*) AS anzahl FROM `ch_users` RIGHT JOIN `ch_gruppen` ON `ch_gruppen`.`ID` = `ch_users`.`Gruppe` GROUP BY `ch_gruppen`.`ID`
-
Danke für die schnelle Antwort.
sowas änliches ich auch schon versucht, aber das problem ist, dass die anzahl nicht stimmt, da steht dann keine 0 sonderen eine 1.
Bsp. Daten:
Gruppe-1 keine Benutzer
Gruppe-2 ein Benutzer
Gruppe-3 vier Benutzer
MySQL antwort:
ID|Gruppenname|Anzahl
1 | Gruppe-1 | 1
2 | Gruppe-2 | 1
3 | Gruppe-3 | 4 -
Hier:
SELECT `ch_gruppen`.`ID`, `ch_gruppen`.`Gruppenname`, COUNT(`ch_users`.`ID`) AS anzahl FROM `ch_users` RIGHT JOIN `ch_gruppen` ON `ch_gruppen`.`ID` = `ch_users`.`Gruppe` GROUP BY `ch_gruppen`.`ID`
-
vielen Dank.
Funktioniert Super. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage