lonely_hawk
New member
hab eine mysql abfrage an der ich nicht weiter komme...
vereinfachtes bsp.:
eine tabelle mit Spielern
eine tabelle mit Mannschaften
eine tabelle mit der Zuordnung (idverein - idspieler)
jeder spieler besitzt ein 'punktekonto' also eine spalte in der Spielertabelle wo dessen punkte drin stehen. z.b. '11205'
nun möchte ich ersteinmal die gesamtpunktzahl aller Spieler eines vereins wissen... das mache ich verkürzt dargestellt so:
und das funktioniert auch.
nun möchte ich aber eine Liste aller Vereine, sortiert nach dieser gesamtpunktzahlen der jeweilgen mitglieder (spieler).
und das will mir nicht gelingen. mein letzter ansatz sieht (verkürzt) so aus:
ich möchte also wieder die Summe der Spielerpunkte pro verein bilden, die dann mit order by nach größer sortieren und dann zählen wie viele vereine 'über' dem jetzigen sind. Dann hoehereplaetze+1 und ich hab die gewünschte position... theoretisch
aber da kommt wie bei allen bisherigen versuchen leider eine Fehlermeldung, hier ist es die: "#1111 - Invalid use of group function "
kann mir da jemand helfen?
vereinfachtes bsp.:
eine tabelle mit Spielern
eine tabelle mit Mannschaften
eine tabelle mit der Zuordnung (idverein - idspieler)
jeder spieler besitzt ein 'punktekonto' also eine spalte in der Spielertabelle wo dessen punkte drin stehen. z.b. '11205'
nun möchte ich ersteinmal die gesamtpunktzahl aller Spieler eines vereins wissen... das mache ich verkürzt dargestellt so:
Code:
SELECT SUM(Spieler.punkte) FROM Vereine LEFT JOIN Zuordnung USING(vereinsid) LEFT JOIN Spieler USING(spielerid) WHERE vereinsid = 'die vereinsid' GROUP BY vereinsid");
und das funktioniert auch.
nun möchte ich aber eine Liste aller Vereine, sortiert nach dieser gesamtpunktzahlen der jeweilgen mitglieder (spieler).
und das will mir nicht gelingen. mein letzter ansatz sieht (verkürzt) so aus:
Code:
SELECT COUNT(SUM(Spieler.punkte)) AS hoehereplaetze FROM Vereine LEFT JOIN Zuordnung USING(vereinsid) LEFT JOIN Spieler USING(spielerid) WHERE hoehereplaetze > '$gesamtpunktzahl' GROUP BY Vereine.vereinsid ORDER BY (SUM(Spieler.punkte))
ich möchte also wieder die Summe der Spielerpunkte pro verein bilden, die dann mit order by nach größer sortieren und dann zählen wie viele vereine 'über' dem jetzigen sind. Dann hoehereplaetze+1 und ich hab die gewünschte position... theoretisch
aber da kommt wie bei allen bisherigen versuchen leider eine Fehlermeldung, hier ist es die: "#1111 - Invalid use of group function "
kann mir da jemand helfen?