MySQL按顺序获得行位置使用以下MySQL表:+-----------------------------++ id INT UNSIGNED ++ name VARCHAR(100) ++-----------------------------+如何选择单株行及其在表中其他行中的位置(按name ASC..因此,如果表数据如下所示,则按名称排序时:+-----------------------------++ id | name ++-----------------------------++ 5 | Alpha ++ 7 | Beta ++ 3 | Delta ++ ..... ++ 1 | Zed ++-----------------------------+如何选择Beta得到该行当前位置的行?我正在寻找的结果集如下所示:+-----------------------------++ id | position | name ++-----------------------------++ 7 | 2 | Beta ++-----------------------------+我可以做一个简单的SELECT * FROM tbl ORDER BY name ASC然后枚举PHP中的行,但是仅仅为一行加载一个可能很大的结果集似乎是浪费的。
3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
SELECT `id`, (SELECT COUNT(*) FROM `table` WHERE `name` <= 'Beta') AS `position`, `name`FROM `table`WHERE `name` = 'Beta'
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
COUNT
WHERE
SELECT * FROM tbl WHERE name = 'Beta'
SELECT COUNT(1) FROM tbl WHERE name >= 'Beta'
添加回答
举报
0/150
提交
取消