我正在使用以下结果表
Results Table
__________________________________________
player_a| player_b | player_c | year
________|________ |__________|___________|
100 150 150 2015
100 -50 -50 2015
100 350 250 2014
200 350 250 2014
我想做的是每年获得每位玩家的总和。 使用以下选择i可获得所需的结果。
SELECT (
SELECT SUM( player_a )
FROM `results`
WHERE year =2015
) AS player_a_2015, (
SELECT SUM( player_a)
FROM `results`
WHERE year =2014
) AS player_a_2014
如何才能获得最大总和结果?
即对于player_a应为300
答案 0 :(得分:1)
SELECT SUM(player_a) AS spa
FROM results
GROUP BY year
ORDER BY spa DESC
LIMIT 1
答案 1 :(得分:0)
这应该这样做。
确保将OR条件包装在括号中,以便对它们进行评估。
SELECT SUM(player_a) AS sum_score
FROM results
WHERE (year = '2015' OR year = '2014')
修改强>
如果您希望按年度获得最高分,然后总结一下 - 这应该没问题。
SELECT MAX(max_sum_score) AS max_sum_score
FROM ( SELECT year
, SUM(player_a) AS max_sum_score
FROM results
WHERE (year = '2015' OR year = '2014')
GROUP BY year
) a
答案 2 :(得分:0)
你可能想用,
SELECT MAX(SUM_A),YEAR FROM (
SELECT SUM( player_a ) as SUM_A, YEAR
FROM results
GROUP BY YEAR
) A_SCORE;
这将一气呵成(显然对于一个玩家)。