2017-02-14 6 views
1

Oracle에서 일부 분석 함수를 찾고 있는데, 테이블에서 비 연속적인 원시 값을 찾을 수있는 쿼리입니다.DB 테이블에서 비 연속적인 원시 값 찾기 - 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 좋은 소위 허용되어 있지만, 1 (6) 사이에 & 7-7-6-1-1 인해 갭 실패) 기본적으로는 테이블 I 비 연속적인 값 플래그하려는

.

이 작업을 수행하는 분석 기능이 있는지 알려 주시기 바랍니다.

답변

1

당신은 이전 행에 대한 액세스를 제공하는 LAG analytic function를 사용하고, 그 결과는 현재 행 또는 값에 1을 더한

+0

당신이 예를 제공하시기 바랍니다 수있는 값에 동일한 경우는 확인할 수 있습니까? 나는 docs.oracle-을 점검했지만 제대로 이해하지 못했습니다. – inityk

+0

물론, 오라클 -베이스는 여기에 좋은 예제를 제공합니다 : https://oracle-base.com/articles/misc/lag-lead-analytic-functions – JeromeFr