SQL同一列中的上一行

时间:2018-04-25 12:34:13

标签: sql

如何从同一列获取以前的行数据?

我有这样的数据:

A       B              C
1    20181111800   20181111800
2    20181111809   20181111809
3    20181140545   20181140545
4    20181111817   20181140545
5    20181111826   20181140545

C列应按如下方式计算:

第一行=与A列第一行相同

第二行excel公式如下所示:=IF(C1<A2;A2;C1)

第三行excel公式如下所示:=IF(C2<A3;A3;C2)

等等休息行..

如何将此公式更改为sql查询?

1 个答案:

答案 0 :(得分:0)

看起来你想要一个累积的最大值:

select a, b, max(b) over (order by a)
from t;

这是一个ANSI标准的窗口函数,可在大多数数据库中使用。