【发布时间】:2011-04-06 14:13:24
【问题描述】:
使用以下 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 中的行,但是只为一行加载一个可能很大的结果集似乎很浪费。
【问题讨论】:
标签: sql mysql analytic-functions