3 Stimmen

Wie man die Summenabfrage für bestimmte Zeilen verwendet

Ich habe ein kleines Problem mit meiner MYSQL-Abfrage, hier werden alle Ergebnisse zurückgegeben, um eine Ligatabelle zu erstellen.

Die Tabelle sieht wie eine größere Version dieser aus

MITGLIEDER ERGEBNISSE TABELLE
mitglied_id      1   2   1   2
strecken_id       1   1   2   2
gesamtpunkte  234 432 222 234

Die SUM(total) gibt die SUMME aller total_points zurück, unabhängig davon, was die mitglied_id ist, obwohl ich möchte, dass sie nur für jede mitglied_id-Zeile berechnet werden.

SELECT members.member_id, members.teamname, SUM(total_points)
FROM members, members_leagues, member_results
   WHERE members.member_id = members_leagues.member_id
     AND members_leagues.league_id = '45'
       AND member_results.track_id = '1'
          AND member_results.member_id = members_leagues.member_id
             AND members_leagues.start_race >= member_results.track_id

1voto

Jonny Punkte 2709

Sie benötigen eine GROUP BY-Klausel

SELECT members.member_id, members.teamname, SUM(total_points)
FROM members, members_leagues, member_results
   WHERE members.member_id = members_leagues.member_id
     AND members_leagues.league_id = '45'
       AND member_results.track_id = '1'
          AND member_results.member_id = members_leagues.member_id
             AND members_leagues.start_race >= member_results.track_id 
GROUP BY members.memberID

0voto

oezi Punkte 49639

Nur ein group by hinzufügen

GROUP BY members.member_id

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X