[MySQL] DISTINCT nicht geeignet. Was gibts dafür?

Daxi

Erfahrenes Mitglied
Hallo!

Ich bräuchte mal eure Hilfe.
Ich habe eine Tabelle. Beispiel:
Code:
+--------+-----------+-------+
| Gruppe | Name      | Posts |
+--------+-----------+-------+
| A      | Member A1 |     5 |
| A      | Member A2 |    10 |
| B      | Member B1 |     7 |
| B      | Member B2 |     1 |
+--------+-----------+-------+

Ich brauche jetzt ein Query, das mir Jeweils den User raussucht, der in der Gruppe der mit den meisten Posts ist.

Nehme ich
Code:
SELECT DISTINCT Gruppe, Name FROM members ORDER BY Posts DESC
geht das leider nicht. Er zeigt mit trotzdem alle Member an.
Ich hab nachgelesen, dass DISTINCT nur komplett gleiche Zeilen aus dem Result filtert.

Kennt sich jemand von euch mit dieser Problematik aus?
Ich will nämlich nicht erst die Gruppen auslesen und dann für jeder Gruppe den besten Member suchen. Das wären dann an diesem Beispiel 3 Querys. Ich will das ganze aber in einer haben...
 
hmm,

SELECT gruppe, name FROM tabelle GROUP BY (gruppe, name) ORDER BY posts DESC

sollte gehen. *Hoff*

Also auf jeden Fall geht es mit Group By.
 
Das mit GROUP BY (A, B) funktioniert leider nicht. Da kommt ein Syntax-Fehler.
Schreibe ich
Code:
SELECT Gruppe, Name FROM members GROUP BY Gruppe ORDER BY Posts DESC
bringt leider auch nicht den gewünschten Erfolg.

Dann bekomme ich das Ergebnis:
A - Member A1
B - Member B1

Richtig müsste es aber das ausgeben:
A - Member A2
B - Member B1

Ich hab da noch was von MAX() gelesen. funktioniert aber leider auch nicht in der GROUP BY...

Mit WHERE MAX(Posts) geht nichts und mit GROUP BY Gruppe, MAX(Posts) geht auch nichts.
-> Invalid use of group function

Irgendwie muss doch das gehen. Bitte helft mir...

(Sollte ungefähr die gleiche Syntax haben wie die letzten 10 Posts hier auf der Seite. Da werden die gleichen Themen auch nicht 2x aufgelistst.)
Könnte mir jemand von den Admins ggf. die Syntax schicken? Bitte, bitte... :)
 
Danke. Funktioniert genau so, wie ich das brauche...

(Misst. Hätt ich auch selbst drauf kommen können. Schließlich hab ich ja auch schon mit MAX experimentiert... :) :) )
 

Neue Beiträge

Zurück