我有下面的查询和结果输出。
select seq_no, timestamp,
max(timestamp) over (partition by seq_no) as max
from temp
SEQ_NO时间戳最大值2013年6月27日15:422013年6月27日15:432013年6月27日15:432013年6月27日15:4322013年6月27日15:442013年6月27日星期二15:44
如果突出显示值,则可以看到计算的MAX()不会保留NULL值。我相信我已经读过,默认情况下,MAX()函数会忽略NULL,所以这是有道理的。。。但是我希望保留该行的NULL,这意味着SEQ_NO=2的条目如下所示。
SEQ_NO时间戳最大值2.2013年6月27日星期二15:44
我试过使用KEEP()函数,但不清楚我走的是对的。
只需使用case
语句:
select seq_no, timestamp,
(case when timestamp is not null
then max(timestamp) over (partition by seq_no)
end) as maxtimestamp
from temp