mysql - 如何: Sort user by values and theier new position in the table

标签 mysql sql

我正在尝试按值对数据库中的所有用户进行排序,并为他们提供一个新的 ID,这将充当他们的位置。

enter image description here

我尝试按 money 降序排列它们,这是我正在寻找的排序依据的值,但我无法按顺序正确更新每个用户的 ID。

请注意,数据库有超过 5000 个条目,因此我需要一种不会滞后于数据库的方法。

最佳答案

不幸的是,MySQL 没有一个很好用的简单的 RANK() 函数。您可以使用此处描述的解决方法:Rank function in MySQL

SELECT t1.*, @curRank := @curRank + 1 AS rank
FROM table_name t1, (
SELECT @curRank := 0
) t2
ORDER BY money

关于mysql - 如何: Sort user by values and theier new position in the table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53989284/

相关文章:

mysql - 在哪里存储多个 Web 应用程序的资源

Mysql 创建表和所有数据的副本

mysql 在每个类别中选择 5 个随机问题

php - 使用 PHP 更新数据库中现有库存水平和价格的数组值

php - 将 mySQL 结果拆分为两个 <div> 并限制为 4

mysql - 换行 MySQL 列名

php - 如何将电子邮件发送到通过 php mailer 从数据库中获取的地址

sql - "Compact and repair"操作后 MS Access 查询出现问题

sql - 加入内联构建的表上的硬编码值

sql - 摆脱 SQL Server 中的 "Magic"数字