2012-03-12 2 views
0

나는이 문제를 잘 해결할 수있는 방법을 발견 할 수있는 힌트를 찾을 수 있었지만 좋은 해결책을 찾았습니다.MySQL - where 절의 타임 스탬프

레코드가 여러 소스에서 스트리밍되는 테이블 (t_splits)이 있습니다. 각 행에는 ID (split_id - 자동 증가), HH : MM : SS 형식의 시간 (split_time) (레코드가 시작된 시간의 로컬 시간 임) 및 timestamp 열 (inserted_ts - obv, 레코드가 삽입 된 시간).

이 테이블은 이러한 스트림을 수신하는 소켓 서버를 통해 시간이 지남에 따라 채워집니다.

내가 원하는 것은, 예를 들어, HH : MM : SS 열의 가장 빠른 시간부터 정렬 된 것보다 10 초 전에 삽입 된 레코드를 선택하는 것입니다.

SELECT * 
FROM  t_splits 
WHERE ?? (something to do with inserted_ts and Now and the 10 sec delay) 
ORDER BY ?? (something using HH, MM & SS) 

실생활에서 좀 더 복잡하지만 기본 설정입니다.

도움을 주시면 감사하겠습니다.

감사 Nymor

답변

1
SELECT * from t_splits WHERE insert_ts < date_sub(now(),interval 10 second) 
order by insert_ts ; 

는 ("빠른 시간"을 가정하는 것은 오래된 것을 처음으로 의미)

+0

감사 DhruvPathak는 - 간격에 대해 알고하지 않았다. HH : MM : Ss 열을 기준으로 정렬해야하므로 HH : MM : SS 시간이있는 다른 열을 초 단위로 추가하고이를 대신 정렬하십시오. – Nymor