我的 MYSQL 查询有点问题,在这里我返回所有结果以填充排名表。
这张 table 看起来像是这个的放大版
MEMBERS RESULTS TABLE
member_id 1 2 1 2
track_id 1 1 2 2
total_points 234 432 222 234
无论 member_id
是什么,当我需要它们计算每个 member_id
行的位置时,SUM(total) 将返回所有 total_points 的 SUM是。
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 子句
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
关于mysql - 如何对特定行使用求和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653670/