从DB table-SQL中查找非连续的原始值

时间:2017-02-14 10:24:52

标签: sql oracle analytic-functions

我正在寻找Oracle中的一些分析函数或某些查询,它会从表中找到非连续的原始值。

  

示例示例

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 个答案:

答案 0 :(得分:1)

您可以使用LAG analytic function提供对前一行的访问权限,并检查结果是否等于当前行的值或值加1。