我不认为这是其他等级陈述的重复,因为其他人似乎没有在特定用户的搜索结果表中搜索</ p>
我有一张类似于:
的表格| | 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位)如果零索引)。
感谢任何帮助。我似乎无法找到任何答案。
谢谢!
答案 0 :(得分:0)
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