2016-07-20 3 views
1

시간 간격을 출력하고 싶습니다.
1 분 간격으로 저장합니다.
쿼리는 다음과 같습니다5 분 간격으로 출력하는 방법 (mysql)

select datetime + INTERVAL 5 MINUTE 
from ch1 
where datetime between '2016-07-12 17:26:00' and '2016-07-13 09:17:00' 

하지만 출력은 I 출력하고자

2016-07-12 17:31:00 
2016-07-12 17:32:00 
2016-07-12 17:33:00 
2016-07-12 17:34:00 
2016-07-12 17:35:00 
2016-07-12 17:36:00 ... 

입니다.

2016-07-12 17:26:00 
2016-07-12 17:31:00 
2016-07-12 17:36:00 
2016-07-12 17:41:00 
2016-07-12 17:46:00 
2016-07-12 17:51:00 ... 
+0

데이터에서 출력을 독립적으로 가져 오시겠습니까? –

답변

1

ch1 테이블에 이미 원하는 타임 스탬프 데이터가있는 것으로 보입니다. 이 경우 될 경우에, 당신은 단순히 계수와 함께 MINUTE() 기능을 이용하여 5 분마다에서 레코드를 선택할 수 있습니다

SELECT datetime + INTERVAL 5 MINUTE 
FROM ch1 
WHERE datetime BETWEEN '2016-07-12 17:26:00' AND '2016-07-13 09:17:00' AND 
     MINUTE(datetime) % 5 = 0 

을 사실, 당신은 결과 집합의 첫 번째 레코드로 2006-07-12 17:26:00를 원하는 경우, 다음 계수 계산을 오프셋 할 수 있습니다.

SELECT datetime + INTERVAL 5 MINUTE 
FROM ch1 
WHERE datetime BETWEEN '2016-07-12 17:26:00' AND '2016-07-13 09:17:00' AND 
     (MINUTE(datetime) - 1) % 5 = 0 
+0

답변 해 주셔서 감사합니다. –

+1

"FROM_UNIXTIME (CAST (UNIX_TIMESTAMP (datetime)/300 AS SIGNED) * 300) FROM ch1 여기서 'datetime between'2016-07-12 17:26:00 '및'2016-07-13 09 : 17 : 00 'GROUP BY 1 " –

+0

@ C.Seon, 그러면 답을이 항목에 추가해야합니다.이 답은 완전히 다른 문제를 해결하기 때문에 자신의 것으로 표시해야합니다. –

관련 문제