Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Ich stehe momentan auf dem Schlauch und hoffe, dass ihr mir weiterhelfen könnt.

Ich verwende eine MySQL-Datenbank, Version habeich gerade nicht im Kopf

Zu meinem Problem:

Ich habe eine Benutzertabelle und eine Rangtabelle, die über die Rang-Id im Benutzer verknüpft sind. Also jeder Benutzer kann nur einen Rang haben.

Jetzt möchte ich mittels SQL alle Nutzer mit Rängen auslesen, gruppiert nach Rängen.

SELECT COUNT(rank_id) AS count,rank_id,rank_title, username FROM usertabelle
LEFT JOIN rangtabelle ON usertabelle.user_rank = rangtabelle.rank_id
GROUP BY rank_id, username
HAVING rank_id IS NOT NULL [/PHP]

Ich hoffte eigentlich mit dem Count die Anzahl der User mit diesem Rang auslesen zu können, das funktioniert aber nicht. Muss ich für jeden Rang eine einzelne Abfrage starten um die Anzahl der User mit diesem Rang herauszufinden, oder läßt sich das auch irgentwie in meine Abfrage mit einbinden? (Mir ist klar, dass dieses Feld dann mehrmals mit der selben Zahl auftreten würde, aber das ist mir egal, da ich den Rang ohnehin nur einmal in ein Array wegschreibe.)

Ich hoffe ihr könnt mir weiterhelfen

Gruss

markus

Geschrieben

SELECT COUNT(username) AS count,rank_id,rank_title FROM usertabelle

LEFT JOIN rangtabelle ON usertabelle.user_rank = rangtabelle.rank_id

GROUP BY rank_id, rank_title

HAVING rank_id IS NOT NULL

So kannst du abfragen wieviel User in einem Rank sind. In einem anderen Select kannst du dann abfragen welcher User in welchem Rank ist. Aber ich würde das nicht zusammenwerfen, da du sonst wie du schon sagtest vieles doppelt hast.

Wenn du es trotzdem machen willst funktioniert unter Oracle sowas hier, ob allerdings unter mysql ein Select im Select so geht weiß ich nicht...:

SELECT username, rank_id,rank_title, (select count(a.user_rank) from usertabelle a where a.user_rank = rangtabelle.rank_id) as count FROM usertabelle

LEFT JOIN rangtabelle ON usertabelle.user_rank = rangtabelle.rank_id

where rank_id IS NOT NULL

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...