gpt4 book ai didi

mysql从结果中排名

转载 作者:行者123 更新时间:2023-11-29 03:05:05 25 4
gpt4 key购买 nike

很抱歉发布另一个关于 mysql 排名的问题,但我已经看过的所有问题和答案都没有帮助我....

我有用户点的 mysql 表。用户可以获得更多结果。我的目标是从用户及其排名中获得最大结果。

CREATE TABLE results
(`user_id` int, `points` int);

INSERT INTO results VALUES
(1,10),
(2,20),
(3,20),
(4,30),
(4,60),
(5,5),
(1,80);

所以上面的解决方案是:

rank | user_id | points
1 1 80
2 4 60
3 3 20
3 2 20
4 5 5

最佳答案

下面的查询就可以了:

SET @rank=0;
SET @points=0;

SELECT @rank := IF(@points = a.points, @rank, @rank + 1) AS rank, a.user_id, @points := a.points AS points
FROM (
SELECT user_id, MAX(points) as points
FROM results
GROUP BY user_id
) a
ORDER BY a.points DESC;

我还为它创建了一个 SQLFiddle,因此您可以看到它的工作原理:http://sqlfiddle.com/#!2/7ba2f/12

关于mysql从结果中排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16933660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com