我有一个分数表,其中包含两列:user_id和score
user_id
score
user_id score 1 200 1 120 1 230 2 300 2 345 3 100 3 40 4 350 4 500 ......
Score.order('score DESC').limit(3)列出前3个得分。取而代之的是,我如何获得前3名的分数,而每个用户在列表上只获得一个位置(他们的最高分数)。
Score.order('score DESC').limit(3)
上表中的最高分数将是:
user_id: 4 score: 500 user_id: 2 score: 345 user_id: 1 score: 230
谢谢!
您应该能够对查询进行分组:
Score.order('score DESC').group('user_id').limit(3)