안녕하세요.
이리저리 쿼리를 해봐도 결과를 뽑을수가 없어서 이렇게 질문드립니다.
카드번호가 중복인것중 60분내에 결재건을 찾고자 합니다.
아래 결과값에서와 같이 card_no가 중복인것 중 60분내로 결재된것을 뽑아오려고 합니다. 시간옆에는 chai(시간차이값)을 표시해주려고하구여.
쿼리 좀 부탁드려요?
SELECT *
FROM (SELECT SEQ,
CARD_NO,
APPR_TIME,
COUNT (*) OVER (PARTITION BY CARD_NO) CARD_NO_CNT
FROM S16
)
WHERE 1 < ANY (CARD_NO_CNT)
이렇게 카드중복된 데이타까지는 뽑겠는데 appr_time 부분을 비교해서 60분내것을 뽑을려면 조건을 어떻게 줘야하는지 잘 모르겠습니다.
seq --> 순차적인 번호
card_no --> 카드 번호
appr_time --> 시.분.초
card_no_cnt -> 카드번호 중복 횟수
cha --> appr_time 의 차이 값
테이블에 들어있는 데이타 샘플:
seq card_no appr_time
4 1234 10.49.40
3 4323 07.49.40
2 1234 10.39.40
1 5434 04.49.40
결과값 :
seq card_no appr_time card_no_cnt chai
4 1234 10.49.40 2 ?
2 1234 10.39.40 2 ?
|