我返回一个表的位置:返回行位置 - Postgres的
select *
from (
select *, row_number() over() as position
from organization
) result
where data1 = 'Hello';
还给这一点,这是正确的:
data1 | Hello
data2 | Joe
position | 5
但是当我做:
select position
from (
select *, row_number() over() as position
from organization
) result
where data1 = 'Hello';
它退货:
position | 25
这里错过了什么? 如何修改此查询以返回5?
您应该包括一个'ORDER BY'子句中的窗函数中的排序。没有它,结果是任意的。 –