Problem mit MySQL Abfrage

C4rter

Mitglied
Ich habe eine Tabelle user, in der gibt es die Spalten:
UserID ContactID GroupID

UserID und ContactID sind einmalig. Die GroupID kann mehrmals vorkommen.

Und eine Tabelle usergroup mit den Spalten:
GroupID GroupName OperatorID

GroupID ist einmalig. Rest kann mehrmals vorkommen.

Als Beispiel:

UserID ContactID GroupID
1 - 5 - 1
2 - 6 - 1
3 - 7 - 2
4 - 12 - 3

GroupID GroupName OperatorID
1 - Gruppe1 - 10
2 - Gruppe2 - 10
3 - Gruppe3 - 11

Ich möchte nun eine Abfrage schreiben, die mir folgende Ausgabe gibt für eine bestimmte Operator ID:

GroupID UserNumber
1 - 2
2 - 1

Meine Abfrage an der im rumdoktore sieht so aus:

SELECT usergroup.GroupID, usergroup.GroupName, COUNT( user.GroupID ) AS UserNumber
FROM usergroup, user
WHERE usergroup.OperatorID =10
GROUP BY usergroup.GroupID

Mit Count werden aber immer ALLE User gezählt, also steht in der Spalte UserNumber immer 4 drin.

GroupID GroupName UserNumber
30 - Gruppe1 - 4
31 - Gruppe2 - 4

Wie mache ich das, dass pro GroupID gezählt wird?

Edit:
Mit
SELECT user.GroupID, COUNT( user.GroupID ) AS UserNumber
FROM user
GROUP BY user.GroupID
bekomme ich schonmal die Anzahl User je Gruppe. Aber nun fehlt mir die Unterscheidung je Operator. Ich will also je Operator wissen wie viele Mitglieder die Gruppen haben

EDIT2:
ok, ich habs selber:

SELECT user.GroupID, COUNT( user.GroupID ) AS UserNumber
FROM user
WHERE user.GroupID IN (SELECT usergroup.GroupID FROM usergroup WHERE usergroup.OperatorID=10)
GROUP BY user.GroupID

Ah ne e, jetzt habe ich zwar die richtigen Zahlen, aber ich bekomme den GroupName nicht mehr dazu
 
Zuletzt bearbeitet:
Moin c4rter,

und so?
Code:
SELECT user.GroupID, usergroup.GroupName, 
COUNT( user.UserID ) AS UsersCount
FROM user, usergroup
WHERE user.GroupID=usergroup.GroupID 
   AND usergroup.OperatorID=10
GROUP BY user.GroupID, usergroup.GroupName

Grüße
Biber
 
Zuletzt bearbeitet:
wie geil, jau, so klappt es. Vielen Dank :-D
Die UserID zu zählen statt da GroupID, da wär ich so schnell nicht drauf gekommen. War da festgefahren
 
Zurück