我返回一個表的位置:返回行位置 - 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'子句中的窗函數中的排序。沒有它,結果是任意的。 –