所以我有一个说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中完成。)
答案 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。