kostenloser Webspace werbefrei: lima-city


mysql count

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    the-8-beta

    the-8-beta hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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`
  4. Autor dieses Themas

    the-8-beta

    the-8-beta hat kostenlosen Webspace.

    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
  5. 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`
  6. Autor dieses Themas

    the-8-beta

    the-8-beta hat kostenlosen Webspace.

    vielen Dank.
    Funktioniert Super.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!