我有2个表,一个用户表和一个提交表
用户:
___id_____name____
1 | hello
2 | world
3 | foo
4 | bar
...
50 | peter
提交
___id_____userid______score___
1 | 1 | 40
2 | 2 | 60
3 | 4 | 30
4 | 12 | 60
5 | 43 | 40
6 | 3 | 100
7 | 3 | 90
8 | 34 | 60
9 | 4 | 30
10 | 3 | 50
11 | 2 | 60
12 | 2 | 10
13 | 1 | 20
14 | 4 | 70
...
100 | 34 | 70
我想要做的是获取一组10条记录,这些记录按每个用户前20个(或更少)分数的总和排序。即。排名前10位的用户,基于前20名(或更少)分数的总和。 “或更少”适用于某些用户可能没有提交20份,但他们的分数总和仍然较高的情况。
例如,用户A只有15个提交,总共2000分,而用户B提交了28个,但他的前20个分数总共只有1800分。用户A将被选择和/或排名高于B.
非常感谢任何帮助,谢谢!