【发布时间】:2012-06-21 09:56:58
【问题描述】:
我正在做一个排序表,需要从查询中找到特定的行位置。
例如: SELECT name FROM player ORDER BY points DESC
我如何使用“John”的name 字段或任何其他字段获得记录的位置?
所以我希望结果给我一个数字(“约翰”的排名)
【问题讨论】:
我正在做一个排序表,需要从查询中找到特定的行位置。
例如: SELECT name FROM player ORDER BY points DESC
我如何使用“John”的name 字段或任何其他字段获得记录的位置?
所以我希望结果给我一个数字(“约翰”的排名)
【问题讨论】:
SET @rank=0;
SELECT @rank:=@rank+1 AS rank, name
FROM players ORDER BY points DESC
或
SELECT @rn:=@rn+1 AS rank, name
FROM (
SELECT name
FROM players ORDER BY points DESC
) t1, (SELECT @rn:=0) t2;
【讨论】: