[英]comparing current row and previous in oracle sql
我需要比較當前行和上一行,並基於比較需要導出列值。 目前,我要遵循的方法是制作兩個不同的記錄集,然后使用等級函數,然后通過加入等級函數來實現這一目標。 但是,這似乎是乏味的方法,是否有更好的方法可以實現此目的。 我目前正在寫類似下面的查詢:
select
< comparing columns from two record sets and deriving column value>
(
select(<some complex logic>, rank from a) rcdset,
(select <some complex logic>, rank +1 from a) rcdset2 where rcdset.rnk = rcdset1.rnk (+)
數據庫-Oracle 10g
使用LAG(value_expr) OVER (ORDER BY rank_col)
)從上一行(由rank_col定義的順序LAG(value_expr) OVER (ORDER BY rank_col)
中檢索值(value_expr),請參見http://oracle-base.com/articles/misc/lag-lead-analytic-functions .PHP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.