2017-09-18 1 views
-1

안녕하세요 나는 시나리오를 어디에 오라클 db에, 표시된 변수 값의 개수를 아래와 같이 반환해야합니다.오라클 DB - 비 연속적 작업을

조치 필드에는 다른 시간 소인의 값으로 삽입 및 삭제가 있지만,보고 할 때 주어진 입력과 같아야합니다.

enter image description here

논리는 모든 Insert하거나 delete 또는 Insert 각각 히트까지 모든 Delete1으로 간주되어야한다.

고객은 콜센터처럼 여러 개의 컴플라이언스 (삽입)를 추가 할 수 있지만 이미 등록 된 불만 사항이 해결 된 경우 (삭제) 다음 불만 사항 (삽입)이 필요한 경우 해당 사용자 ID는 1로 계산됩니다. 하나로서 계산된다.

도움을 주신 분께 감사드립니다. 미리 감사드립니다.

데바

답변

0

이 시도 :

select keyfield, action, count(*) from (
    select lead(action, 1, 'other') over (partition by keyfield order by timestamp) as naction, action from t1) 
where action != naction group by action, keyfield; 

아이디어 (같은 행동의 체인을 무시) 다른 작용에 의해 준수 레코드 만 선택 분석 기능을 사용하는 것입니다. 그런 다음 액션과 ID별로 그룹화하여 계산합니다.

+0

답장을 보내 주셔서 감사합니다. 저는 SQL-Oracle 코드에서 데이터, 입력 및 예상 출력에 대해 더 명확한 아이디어를 원했습니다. 샘플 입력 데이터와 초기 스레드의 예상 출력을 업데이트했습니다. 저 좀 도와 주 시겠어요. – deva