A라는 개인 근태 테이블이 있고,
테이블 구성은
- 근태일
- 직원id
- 근태구분
1. 여기서 직원중 연속적으로 출근을 한 사람을 알수 있는 방법이 있을까요?
2. 2틀이상 출근기록을 알수 있을까요?
김길동 2013년 1월 3일 ~ 2013년 1월 5일 (3일간)
김길동 2013년 1월 7일 ~ 2013년 1월 10일(4일간)
박길동 2013년 1월 3일 ~ 2013년 1월 9일(7일)
...
항상 고맙고~ 행복하세요~
WITH TEST AS ( SELECT 'A군' USERID, '20130301' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'A군' USERID, '20130302' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'B군' USERID, '20130301' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'B군' USERID, '20130302' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'B군' USERID, '20130304' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'A군' USERID, '20130303' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'A군' USERID, '20130304' WORKDAY, '1' DVS FROM DUAL UNION ALL SELECT 'A군' USERID, '20130307' WORKDAY, '1' DVS FROM DUAL
) SELECT USERID , MIN ( WORKDAY) , MAX ( WORKDAY ) , COUNT(*) FROM ( SELECT * FROM TEST ORDER BY USERID, WORKDAY ) GROUP BY USERID, TO_DATE ( WORKDAY, 'YYYYMMDD' ) - ROWNUM
아 이런 방법이 있었군요~ 좋은 해결책 배워가요~
좋은 하루 되세요~