Hallo Leute,
ich habe ein Problem mit einer mysql Abfrage.
Ich habe zwei Tabellen
tippspiel_2009_tipppunkte
gp_id, user_ID, tipp_punkte
in der zweiten
tippspiel_2009_user
user_ID, user_name,syndicate_id
Derzeit frage ich die so ab. Damit wollte ich die Gesamtpunktzahlen berechnen, das klappt auch.
Nun wollte ich aber nur die jeweils besten 3, die die selbe syndicate_id haben jeweils zusammen rechnen.weiß aber nicht wie ich das subselect in diesem Fall einbauen muss.
beispiel
tippspiel_2009_tipppunkte
gp_id, user_ID, tipp_punkte
AUS, 17, 30
BAH, 17, 26
CHI, 17, 4
AUS, 18, 13
BAH, 18, 6
GER, 18, 14
AUS, 19, 33
BAH, 19, 26
GER, 19, 4
AUS, 20, 31
TUE, 20, 21
GER, 20, 14
BRA, 21, 2
GER, 21, 6
TUE, 22, 9
tippspiel_2009_user
user_ID, user_name,syndicate_id
17, Ernst, 8
18, Fred, 3
19, EinToller, 4
20, Achim, 4
21, Bernd, 4
22, Hans, 4
ich habe ein Problem mit einer mysql Abfrage.
Ich habe zwei Tabellen
tippspiel_2009_tipppunkte
gp_id, user_ID, tipp_punkte
in der zweiten
tippspiel_2009_user
user_ID, user_name,syndicate_id
Derzeit frage ich die so ab. Damit wollte ich die Gesamtpunktzahlen berechnen, das klappt auch.
Code:
SELECT u.syndicate_id, u.user_name, IFNULL(sum(punkte.tipp_punkte),0) AS ges_punkte
FROM tippspiel_2009_tipppunkte AS punkte
LEFT JOIN tippspiel_2009_user AS u USING (user_ID)
WHERE u.user_ID>9 GROUP BY u.user_ID ORDER BY ges_punkte DESC
Nun wollte ich aber nur die jeweils besten 3, die die selbe syndicate_id haben jeweils zusammen rechnen.weiß aber nicht wie ich das subselect in diesem Fall einbauen muss.
beispiel
tippspiel_2009_tipppunkte
gp_id, user_ID, tipp_punkte
AUS, 17, 30
BAH, 17, 26
CHI, 17, 4
AUS, 18, 13
BAH, 18, 6
GER, 18, 14
AUS, 19, 33
BAH, 19, 26
GER, 19, 4
AUS, 20, 31
TUE, 20, 21
GER, 20, 14
BRA, 21, 2
GER, 21, 6
TUE, 22, 9
tippspiel_2009_user
user_ID, user_name,syndicate_id
17, Ernst, 8
18, Fred, 3
19, EinToller, 4
20, Achim, 4
21, Bernd, 4
22, Hans, 4
Zuletzt bearbeitet: