在MYSQL查询中获取行位置

Jak*_*ake 5 mysql sql

可能重复:
MySQL中的ROW_NUMBER()

这可能吗?我希望以特定顺序获得一堆结果,然后通过其id找出行的位置,例如:

1, foo
2, bar
3, foobar
Run Code Online (Sandbox Code Playgroud)

我想按字母顺序获得1的位置,它将返回2

pot*_*Pan 10

SELECT id, name, rank FROM 
    (
    SELECT t.id, t.name,
        @rownum := @rownum + 1 AS rank
    FROM TABLE t, (SELECT @rownum := 0) r
    ORDER BY name ASC
    ) `selection` WHERE id=1
Run Code Online (Sandbox Code Playgroud)

在MySQL中修改了这个答案>> ROW_NUMBER()