차량의 블랙박스 분석 프로그램을 만드는 중입니다.
블랙박스에서 테이블로 전송해주는 구조는
DATANO [PK], SEC[PK], SPEED, RPM, 이벤트데이터...
DATANO 컬럼은 '차량번호' + '년월일시분초' + '시동ON 시작시간' 으로 구성되어있고
SEC 컬럼은 '시동ON 시작시간' 을 초로 환산하여 1초식 증가된 값이 들어갑니다.
SPEED 컬럼은 해당초에 속도가 들어있습니다.
RPM 컬럼은 해당초에 RPM 정보가 들어있습니다.
이벤트데이터에는 각 장치들이 정상동작하는지 여부가 들어있습니다.
초데이터 기준으로 들어있고 중복데이터는 발생하지 않습니다.
처음 집계를 하고자하는 것은 변수로 입력받은 값을 토대로 집계를 하는것인데
'30초', '110KM' 라고 변수를 입력받으면 30초 이상동안 110KM 이상으로 달린 시간의 시작과 종료시간을 구하는 것입니다.
데이터중에 몇회씩 걸쳐 이런데이터가 들어있습니다.
두번째 집계를 하고자 하는것은 바로전 초의 속도와 해당 초의 속도가 입력받은 변수의 값 이상으로 차이가나면
차이난 시간의 시작시간과 종료시간을 구하는 것입니다. 데이터중에 몇회씩 걸쳐 이런데이터가 들어있습니다.
SEC 컬럼을 통해 초데이터값에서 시간을 구할수는 있는데 집계쿼리를 어떻게 짜야될지 감이 안오네요.
고수님들의 도움 부탁드립니다.
수고하세요.
|