테이블 구조는 A1:VARCHAR B1:DECIMAL D1:DATETIME / A1,D1 PK 로 되어 있습니다.
원래는 데이터가 5초에 한번씩 값이 들어오게 되어 있는데
PLC에서 문제가 생겨 중복되는 값이 1초마다 계속 들어옵니다.
질문은
d1이 1초마다 반복될 경우 b1과 같으면 b1에서 중복된 값을 삭제 하고 싶습니다.
조건1: b1은 중복될 수 있음
조건2: d1이 1초마다 반복될 경우 최초 한번만 기록
쿼리문을 어떻게 짜야할지 모르겠습니다 ㅜㅜㅜ 도와주십시오
A1 | B1 | D1 |
5050a | 2040 | 2018-04-11 09:41:05 |
5050a | 2040 | 2018-04-11 09:41:04 |
5050a | 2040 | 2018-04-11 09:41:03 |
5050a | 2040 | 2018-04-11 09:41:02 |
5050a | 2040 | 2018-04-11 09:41:01 |
5050a | 2045 | 2018-04-11 09:40:59 |
5050a | 2045 | 2018-04-11 09:40:58 |
5050a | 2045 | 2018-04-11 09:40:57 |
5050a | 2040 | 2018-04-11 09:40:56 |
5050a | 2040 | 2018-04-11 09:40:54 |
5050a | 2041 | 2018-04-11 09:40:52 |
5050a | 2047 | 2018-04-11 09:40:50 |
5050a | 2047 | 2018-04-11 09:40:49 |
안녕하세요 마농님 댓글 감사합니다.
말씀하신건 삭제 대상입니다. 조건은 이렇습니다.
D1이 10초에 찍힘 ( B1값 : 10) -> 삭제대상 아님
D1이 11초에 찍힘 ( B1값 : 10) -> 삭제대상
D1이 12초에 찍힘 ( B1값 : 10) -> 삭제대상
D1이 13초에 찍힘 ( B1값 : 10) -> 삭제대상
... D1이 16초에 찍힘 ( B1값 : 10) -> 삭제대상 아님
또는
D1이 10초에 찍힘 ( B1값 : 10) -> 삭제대상 아님
D1이 11초에 찍힘 ( B1값 : 11) -> 삭제대상 아님
D1이 12초에 찍힘 ( B1값 : 11) -> 삭제대상
D1이 13초에 찍힘 ( B1값 : 11) -> 삭제대상
반복은 5초에 한번이고 5초 내에 같은 값이면 삭제대상이지만 같은 값이 아니라면 삭제대상이 아닙니다..
하지만 5초에 한번 찍힌 값이 10이고 6초째 찍히는값도 10이라 같은 값이면 원래 삭제대상이지만 5초 간격이라 6초째 찍힌 값은 삭제대상이 아닙니다.
즉, 반복은 5초입니다.
네 좀 헷갈리셨을것 같네요 미안합니다.; 질문에 대한 답은 이렇습니다.
15초동안 1초마다 반복되면 14건 다 지우나요? -> 1초/ 6초/ 11초/ 16초 가 최초 1회의 값이고 2~5초/ 7~10초/ 11~15초 간 값이 최초 값들과 같다면 삭제, 아니면 삭제안함
40:56 와 40:54 는 2초 차이인데 삭제 대상 아닌건가요? -> 56초와 54초 사이에 55초까지만 보니까, 56초부터 새로 시작되는 값으로 인식해서 삭제대상이 아닙니다
반복이 5초이고 최초 1회 값과 2~5번째 값이 동일하다면 삭제하는것이구요. 6초 부턴 다시 조건인거죠....
어쨋든... 도움 주시려해주셔서 감사합니다. 그냥 프로그램을 만들었습니다..