如何比较Oracle表中的行?
我有一张这样的桌子如何比较Oracle表中的行?,oracle,Oracle,我有一张这样的桌子 rank continuationofrow 1 row 2 row 3 row 4 row 4 row 4 row 我试图识别Oracle语句中的前几行秩号。非常感谢您的帮助。我在网上搜索过,没找到多少 必须有另一列来确定具有相同排名的行的顺序,否则“前一行”的概念就没有意义了。让我们假设您这样做: select ... lag(rank, 1) over (order by ordering-columns) fr
rank continuationofrow
1 row
2 row
3 row
4 row
4 row
4 row
我试图识别Oracle语句中的前几行秩号。非常感谢您的帮助。我在网上搜索过,没找到多少 必须有另一列来确定具有相同排名的行的顺序,否则“前一行”的概念就没有意义了。让我们假设您这样做:
select
...
lag(rank, 1) over (order by ordering-columns)
from
..
seq rank continuationofrow
1 1 row
2 2 row
3 3 row
4 4 row
5 4 row
6 4 row
不,您可以使用分析函数:
select seq, rank, continuationofrow, lag(rank) over (order by seq) as prev_rank
from mytable;
seq rank continuationofrow prev_rank
1 1 row
2 2 row 1
3 3 row 2
4 4 row 3
5 4 row 4
6 4 row 4
必须有另一列来确定具有相同排名的行的顺序,否则“前一行”的概念就没有意义了。让我们假设您这样做:
seq rank continuationofrow
1 1 row
2 2 row
3 3 row
4 4 row
5 4 row
6 4 row
不,您可以使用分析函数:
select seq, rank, continuationofrow, lag(rank) over (order by seq) as prev_rank
from mytable;
seq rank continuationofrow prev_rank
1 1 row
2 2 row 1
3 3 row 2
4 4 row 3
5 4 row 4
6 4 row 4