mysql在结果集中显示位置

时间:2015-01-13 13:40:15

标签: mysql

所以我有一个说10行的列表。每个都有一个键和值。

我可以在mysql中使用某种方法,在给定的结果集中获取行位置:

SELECT 'resultSetPosition' FROM table WHERE rowKey=x ORDER BY rowValue

id        value
 1        a
 2        b
 3        c

 o/p required

 if  id 3 the i need to get position of that row is 3

编辑:我只想在我的结果集中输出一行,但是'位置'应与其位置相关,例如,如果按ID排序。

(显然,如果我只是拉动整个结果集并在编程中搜索数组,这一切都很容易,但我想知道是否可以单独在mysql中完成。)

3 个答案:

答案 0 :(得分:1)

你可以试试这个: -

SELECT *, @rownum := @rownum + 1 AS ROW_NUMBER
FROM TABLE
JOIN (SELECT @rownum := 0) R;

这可能会对你有帮助。

答案 1 :(得分:0)

尝试这个希望这将解决你的问题

 select count(*) as pos from table_name where id<=current_id

答案 2 :(得分:0)

试试这个:

SET @rank=0;
SELECT @rank:=@rank+1 AS resultSetPosition
 FROM tableName
 WHERE rowKey=x
 ORDER BY rowValue

另请查看this link