gpt4 book ai didi

PHP MySQL 获取表 ORDER 后的行 ID

转载 作者:行者123 更新时间:2023-11-29 17:39:34 24 4
gpt4 key购买 nike

我不认为这与其他排名语句重复,因为其他人似乎没有在结果表中搜索特定用户

我有一个类似于以下的表格:

|       | column1 | column2 | column3 | column4 |
|-------|---------|---------|---------|---------|
| user1 | 100 | 49 | 3 | 1,980 |
| user2 | 7 | 5 | 51 | 500 |
| user3 | 1 | 65 | 44 | 307 |
| user4 | 6 | 66 | 445 | 397 |
| user5 | 4 | 67 | 442 | 437 |

我目前有这个语句来对表进行排序:

$statement = "SELECT *
FROM tracker_players
ORDER BY (column1 + column2 + column3 + column4)
DESC";

结果表将是:

|       | column1 | column2 | column3 | column4 |
|-------|---------|---------|---------|---------|
| user3 | 1 | 65 | 44 | 307 | // 417
| user2 | 7 | 5 | 51 | 500 | // 563
| user4 | 6 | 66 | 445 | 397 | // 914
| user5 | 4 | 67 | 442 | 437 | // 950
| user1 | 100 | 49 | 3 | 1,980 | // 2132

对表格进行排序后,我希望能够找出表格 userX 的位置。即 user5位于位置 4(如果索引为零,则位于位置 3)。

感谢任何帮助。我似乎找不到任何与此相关的答案。

谢谢!

最佳答案

SELECT t.*, @rank := @rank + 1 as rank
FROM tracker_players t
CROSS JOIN (select @rank := 0) r
ORDER BY (t.column1 + t.column2 + t.column3 + t.column4) DESC

关于PHP MySQL 获取表 ORDER 后的行 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50073424/

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