MySQL由两列组成的组
我试图首先获得用户在每个级别的最高分数,然后将这些分数相加,找到用户的总体高分MySQL由两列组成的组,mysql,Mysql,我试图首先获得用户在每个级别的最高分数,然后将这些分数相加,找到用户的总体高分 +-----------+----------+----------+--------------------+ | id | name | score | level_id | +-----------+----------+----------+--------------------+ | 1 | Jane Doe | 100 |
+-----------+----------+----------+--------------------+
| id | name | score | level_id |
+-----------+----------+----------+--------------------+
| 1 | Jane Doe | 100 | 1 |
| 2 | Jane Doe | 50 | 2 |
| 1 | John Doe | 100 | 1 |
| 2 | John Doe | 50 | 2 |
+-----------+----------+----------+--------------------+
我已经设法找到了用户在所有级别上的最高分数,但我如何才能为每个级别做到这一点
select user_id, id, max(correct_answers)
from score
group by user_id
也在group by中添加级别\u id
select user_id, id, max(correct_answers)
from score group by user_id,level_id
试试这个
select user_id, max(correct_answers) maxs ,level_id
from score
group by level_id,user_id
试试这个:
选择名称、id、最大值(分数)
从分数
按级别分组\u id,id这是一个常见问题,但如果您要坚持使用它,至少要提供一个SQLFIDLE(和/或DDL等价物)以及所需的结果。您能从示例表中发布您想要的结果吗。这有点难理解需求。是否存在不重复的用户id?如果没有重复,那么为什么要根据用户id进行分组