mysql 数据排序后,查询特定数据排在第几行

mysql 查询排序后,特定数据排在第几行


不会去水印,看着真难受,大家凑合看吧

直接说

这里,numno是数据库表名。
我要在这个表根据score排好序之后,查找出特定id的对象,排在第几行。
首先,排序的代码如下:

// 对数据进行排序
SELECT *, (@rownum := @rownum+1) AS rownumber
FROM (numno,(SELECT @rownum:=0) b)
ORDER BY numno.score

结果为
在这里插入图片描述
然后,对排序过后的进行查询,代码 如下

// 查询特定id,排在第几位
SELECT *
FROM(
   SELECT *, (@rownum := @rownum+1) AS rownumber
   FROM (numno,(SELECT @rownum:=0) b)
   ORDER BY numno.score
) s
WHERE s.`id`=3

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45463572/article/details/124516566