2017-02-14 67 views
1

我正在尋找Oracle中的一些分析函數或某些查詢,它將從表中找到非連續的原始值。從數據庫表中找到非連續的原始值 - SQL

樣本實施例

ORDER FLAG | ORDER FLAG 
6  TRUE  | 6  TRUE 
2  FALSE | 5  TRUE 
2  FALSE | 4  TRUE 
1  FALSE | 3  TRUE 


ORDER FLAG | ORDER FLAG 
2  TRUE | 7  TRUE 
2  TRUE | 7  TRUE 
2  TRUE | 6  TRUE 
1  TRUE | 1  FALSE 
1  TRUE | 1  FALSE 

所以,如果有連續兩行之間的間隙值,我想將標誌'False' - 一旦我們設置'False'不需要檢查該列中進一步的連續值。

(值的複製被允許,那麼,2-2-2-1-1好;但7-7-6-1-1由於失敗間隙6之間& 1)

基本上我想標誌從表中的非連續值。

請讓我知道有沒有這項工作的任何分析功能。

回答

1

您可以使用它提供了訪問以前行LAG analytic function,並檢查結果等於當前行的,或者加1的值

+0

能否請您提供一個例子價值?我檢查了docs.oracle--但沒有正確理解。 – inityk

+0

當然,Oracle-Base提供了一些很好的示例:https://oracle-base.com/articles/misc/lag-lead-analytic-functions – JeromeFr