Mysql 选择每次测验的最佳分数和总分排行榜

Mysql 选择每次测验的最佳分数和总分排行榜,mysql,select,group-by,sum,max,Mysql,Select,Group By,Sum,Max,我有一个类似这样的MySql表 quiz_id | user_id | points --------+---------+-------- 1 | 1 | 2 1 | 1 | 7 3 | 1 | 7 2 | 1 | 5 1 | 2 | 7 2 | 2 | 7 3

我有一个类似这样的MySql表

quiz_id | user_id | points 
--------+---------+--------
1       | 1       | 2         
1       | 1       | 7         
3       | 1       | 7       
2       | 1       | 5      
1       | 2       | 7      
2       | 2       | 7      
3       | 2       | 2 
3       | 2       | 6
用户可以重播游戏,试图获得最高分数

我需要查询以获取用户玩的每个测验的最佳“最大”分数,并按所有测验的总分排序,并使其看起来像这样:

   user_id  | SUM(points) 
    --------+--------
    2       | 20             
    1       | 19      
我试着用这个做第二部分

SELECT user_id, SUM(points) 
FROM Quiz_list 
GROUP BY user_id 
ORDER BY SUM(points) DESC   

如果有人能告诉我它应该是sql查询,我将不胜感激。

我想您需要一个子查询来获取
max()
,然后执行
sum()


SQL Fiddle:

我认为您需要一个子查询来获取
max()
,然后执行
sum()


SQL Fiddle:

我认为您需要一个子查询来获取
max()
,然后执行
sum()


SQL Fiddle:

我认为您需要一个子查询来获取
max()
,然后执行
sum()

SQL Fiddle:

这正是我需要的:)Thanx很多!这正是我所需要的:)太多了!这正是我所需要的:)太多了!这正是我所需要的:)太多了!
select user_id, sum(points) as sumpoints
from (select user_id, quiz_id, max(points) as points
      from quiz_list
      group by user_id, quiz_id
     ) uq
group by user_id
order by sumpoints desc;