如何获得mysql中特殊记录的排名结果

如何获得mysql中特殊记录的排名结果,mysql,Mysql,我有以下疑问 SELECT id, name from `users` ORDER BY points desc LIMIT $n*$row,$row 这将选择我的用户表的一部分,然后我将显示它们。这些用户的排名计算如下: $n*$row+$i(该$i是所选行的计数器) 现在我想获得特殊的用户等级,我该怎么做? 例如,按name='jack'或按id=21的用户 我想要一个能准确获得提到的用户排名的查询。您想要在MySQL中获得排名。以下是一种方法: SELECT id, name, @rn

我有以下疑问

SELECT id, name from `users` ORDER BY points desc LIMIT $n*$row,$row
这将选择我的用户表的一部分,然后我将显示它们。这些用户的排名计算如下: $n*$row+$i(该$i是所选行的计数器)

现在我想获得特殊的用户等级,我该怎么做? 例如,按name='jack'或按id=21的用户
我想要一个能准确获得提到的用户排名的查询。

您想要在MySQL中获得排名。以下是一种方法:

SELECT id, name, @rn := @rn+1 as `rank`
from `users` cross join (select @rn := 0) const
ORDER BY points desc

我们甚至看不到您的数据库模式;我们如何回答呢?这很好,但是我想要一个返回id=40的一个值的查询,而不是返回整个users表。我认为这样可以有更好的表现@戈登·林诺夫