gpt4 book ai didi

jquery - MySQL 行选择仅在结果不相同时递增

转载 作者:搜寻专家 更新时间:2023-10-30 20:41:39 24 4
gpt4 key购买 nike

<分区>

我正在尝试对来自 SQL 选择的点进行排名,但前提是这些点与返回结果中的其他点无关。

我正在使用的 SQL 查询:

SET @rank=0;
SELECT *, @rank:=@rank+1 AS rank FROM points;

很简单!并显示以下结果:

id | user_id | points | rank
----------------------------
2 | 133845 | 220 | 1
3 | 134084 | 220 | 2
4 | 1 | 150 | 3
5 | 134086 | 145 | 4
6 | 134080 | 100 | 5
7 | 17938 | 30 | 6
8 | 83011 | 20 | 7
9 | 26 | 5 | 8
10 | 134077 | 5 | 9
11 | 134074 | 5 | 10

如您所见,ID 2 和 3 具有相同的点数,ID 9、10 和 11 也是如此。因此从技术上讲,它们的排名应该相同,而不是继续递增。

下面的示例是表格的正确外观:

id | user_id | points | rank
----------------------------
2 | 133845 | 220 | 1
3 | 134084 | 220 | 1
4 | 1 | 150 | 2
5 | 134086 | 145 | 3
6 | 134080 | 100 | 4
7 | 17938 | 30 | 5
8 | 83011 | 20 | 7
9 | 26 | 5 | 8
10 | 134077 | 5 | 8
11 | 134074 | 5 | 8

我意识到在选择中连续递增每行的排名(使用@rank+1)并不是执行此操作的理想方法。那么,只有当点数不同时,我将如何着手具体递增?

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