mysql从多个sum中选择最大值

时间:2015-07-26 07:32:22

标签: mysql sum max

我正在使用以下结果表

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

3 个答案:

答案 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

enter image description here

enter image description here

答案 2 :(得分:0)

你可能想用,

SELECT MAX(SUM_A),YEAR FROM (
    SELECT SUM( player_a ) as SUM_A, YEAR
    FROM results
GROUP BY YEAR
) A_SCORE;

这将一气呵成(显然对于一个玩家)。