【发布时间】:2021-10-09 21:59:30
【问题描述】:
我有一个包含两列的表格,name 和 number。 number 列中的某些值为空。
name | number
-------------
a | 11
b | null
c | null
我想在number 列中找到最大值,并用递增的值填充缺失值,如下表:
name | number
-------------
a | 11
b | 12
c | 13
如何在 Postgresql 中做到这一点?
【问题讨论】:
-
对表的更新需要 UPDATE 语句,该语句不能选择列值。由于 UPDATE 和 SELECT 是不同的操作,因此不能像您在此处所暗示的那样一步完成。
-
name是表的主键,还是唯一的?
-
@Dennis 谢谢。但我不介意它是否需要多个步骤。
-
@forpas 我们可以假设它是主要的。如果有通用解决方案,我将不胜感激。
标签: sql postgresql sql-update window-functions