如何比较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