假设我们有一个类似的查询:
SELECT id,key1
FROM my_table
WHERE condition = true
ORDER BY id
这将产生以下数组:
[
[id => 123, key1 => 'A'],
[id => 234, key1 => 'B'],
[id => 546, key1 => 'C']
]
该数组有3个值。带有key1='B'
的行的索引为 1 。
是否可以直接从查询中获取'1'
?
答案 0 :(得分:1)
您可以使用ROW_NUMBER() OVER()
来获取结果集中每一行的位置索引。
SELECT id, key1, ROW_NUMBER() OVER(ORDER BY id)
FROM my_table
WHERE condition = true
ORDER BY id