【发布时间】:2009-08-28 04:44:47
【问题描述】:
我有 2 列
date number
---- ------
1 3
2 NULL
3 5
4 NULL
5 NULL
6 2
.......
我需要用新值替换 NULL 值,该值取自日期列中上一个日期的最后一个已知值 eg: date=2 number = 3, date 4 and 5 number = 5 and 5. NULL 值随机出现。
【问题讨论】:
-
您能否确定您正在使用的 SQL 数据库的品牌,例如MySQL、Oracle、SQL-Server,并编辑您的问题以添加该标签?
-
你是指上一行的日期,还是上一个日期(第-1天)?或许可以举例说明您在列中拥有的数据以及您想要的输出示例。
-
@Bill,他可能想要一个通用的解决方案。我们中的一些人实际上喜欢当他们成为 PITA 时在 DBMS 之间轻松切换的能力:-) 不过,在标准 SQL 中做到这一点非常困难(可能是不可能的),@mike,所以如果你有一个特定的 DBMS,一定要告诉我们。
-
@Pax:我同意便携式解决方案的目标,但使用最清晰、最有效的供应商特定解决方案也有好处。
-
@paxdiablo 计算机科学中的所有问题都可以通过另一个级别的间接来解决。在这种情况下,我认为三重自连接应该可以工作......如果你真的想要,我可以尝试编写代码。