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
结果如下: