MariaDB Delete 쿼리 질문드립니다. 0 4 784

by 윤형 [SQL Query] Delete [2018.04.11 17:07:22]


테이블 구조는 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
by 마농 [2018.04.11 17:32:54]

15초동안 1초마다 반복되면 14건 다 지우나요?
40:56 와 40:54 는 2초 차이인데 삭제 대상 아닌건가요?


by 도리비 [2018.04.12 17:16:07]

안녕하세요 마농님 댓글 감사합니다.

말씀하신건 삭제 대상입니다. 조건은 이렇습니다.

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초입니다.


by 마농 [2018.04.12 17:45:48]

말씀하신건 삭제 대상입니다. 라고 하셨는데?
저는 두가지를 언급했는데 둘다 삭제대상이라는 건가요?
모순이네요.
10초에서 5초단위로 끊기고 11초에서 새로 시작하니
10초의 값과 동일하다고 11초를 삭제하는 건 아니지 않나요?
예시가 계속 명확하지가 않네요.


by 도리비 [2018.04.13 08:56:00]

네 좀 헷갈리셨을것 같네요 미안합니다.; 질문에 대한 답은 이렇습니다.

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초 부턴 다시 조건인거죠....

 

어쨋든... 도움 주시려해주셔서 감사합니다. 그냥 프로그램을 만들었습니다..

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입