sql 5분간격 쿼리 질문드립니다.
본문
-------------------------------------
idx | temp | device | datetime
-------------------------------------
1 | 10.2 | smt-10 | 2021-06-03 09:00:12
2 | 9. 4 | smt-10 | 2021-06-03 09:01:12
3 | 9. 2 | smt-10 | 2021-06-03 09:02:12
4 | 8. 9 | smt-10 | 2021-06-03 09:03:16
5 | 8. 9 | smt-10 | 2021-06-03 09:05:12
.
.
800 | 9. 2 | smt-10 | 2021-06-03 10:42:16
요렇게 온도 데이터가 있는데 저는 5분단위인 값만 가져와서 배열에 넣고싶습니다.
만약에 05분 값은 있지만, 10분 값은 없을경우엔 99로 표시하고싶구요..
어떠한 방법으로 하는게 효율적일까요? 도움좀 요청드립니다.
답변 2
값이 없는 경우는 안 나온다고 하면
https://stackoverflow.com/questions/4342370/grouping-into-interval-of-5-minutes-within-a-time-range
group by를 쓰면 됩니다.
select *
from [table]
where mod(minute(datetime), 5) = 0
order by datetime