我试图用
rank()
的结果更新postgresql表中的一列pop_1_rank
,操作如下:UPDATE database_final_form_merge
SET
pop_1_rank = r.rnk
FROM (
SELECT pop_1, RANK() OVER ( ORDER BY pop_1 DESC) FROM database_final_form_merge WHERE territory_name != 'north' AS rnk)r
单独使用SELECT
查询是可以正常工作的,但我无法正确地进行更新。我在这里做错了什么?
SELECT
语句中没有FROM
子句。这怎么可能正常工作呢? - Giorgos BetsosRANK() OVER() as rnk
之后,而不是在WHERE
之后。 - Juan Carlos Oropeza