我无法使用MySQL中的order by获取表中特定行的位置

我无法使用MySQL中的order by获取表中特定行的位置,mysql,sql,sql-order-by,Mysql,Sql,Sql Order By,我想使用“orderby”操作获取MySQL表中特定行的位置。 假设我有这张桌子: 现在我想按用户点的升序排列,得到Ann在这里的位置。我想要的输出是'3'。我试着去做,但是没有结果。。。如果有人知道怎么做,我将不胜感激。一种方法是: select count(*) + 1 from t where t.user_points < (select t2.user_points from t t2 w

我想使用“orderby”操作获取MySQL表中特定行的位置。 假设我有这张桌子:

现在我想按用户点的升序排列,得到Ann在这里的位置。我想要的输出是'3'。我试着去做,但是没有结果。。。如果有人知道怎么做,我将不胜感激。

一种方法是:

select count(*) + 1
from t
where t.user_points < (select t2.user_points
                       from t t2
                       where t2.name = 'Ann'
                      );

但是如果索引正确,第一个版本可能会快一点。

哪个MySQL版本?xampp,它是10.4.11-MariaDB-MariaDB.org。我会检查它并给出反馈:D
select t.*, rnk
from (select t.*, rank() over (order by score) as rnk
      from t
     ) t
where name = 'Ann';