Как использовать запрос суммы для определенных строк - PullRequest
3 голосов
/ 05 октября 2011

У меня небольшая проблема с моим MYSQL-запросом, здесь я возвращаю все результаты для заполнения таблицы лиги.

Таблица выглядит как увеличенная версия этой

MEMBERS RESULTS TABLE
member_id      1   2   1   2
track_id       1   1   2   2
total_points  234 432 222 234

SUM (total) возвращает SUM для всех total_points вместе, независимо от того, что такое member_id, когда мне нужно, чтобы они вычислили только, где находится каждая строка member_id.

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 

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Вам нужно предложение GROUP BY

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
0 голосов
/ 05 октября 2011

просто добавьте группу к

GROUP BY members.member_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...