我有一个表格,首先有两列用于userId&第二个是商标
+-------+-------+
| UserId | Marks |
+--------+-------+
| 1 | 20 |
| 1 | 20 |
| 3 | 15 |
| 1 | 30 |
| 3 | 20 |
| 4 | 25 |
+--------+-------+
我想计算particalur用户的分数,然后使用userId
给出第1或第2等级 +-------+-------+
| UserId | Rank |
+--------+-------+
| 1 | 1 |
| 3 | 2 |
| 4 | 3 |
+--------+-------+
我有两个查询一个用于计数标记,第二个用于获得排名但不知道如何将这两个查询组合起来并获得结果
查询是:
总数:
SELECT UserId,SUM(Marks)AS total FROM result GROUP BY UserId
获得排名:
(SELECT UserId,Marks,FIND_IN_SET(Marks,(SELECT GROUP_CONCAT(Marks ORDER BY Marks DESC)FROM result))AS rank FROM result)ORDER BY
rank
ASC