안녕하세요.
하다가 도저히 안되겠고 자료도 찾지를 못해서 질문 드립니다.
MIN_DT = 2019-10-01 11:52
MAX_DT = 2019-10-01 16:52
이런식의 데이터가 있다고 할 때 이 데이터를
2019-10-01 11:50
2019-10-01 11:55
2019-10-01 12:00
.
.
.
2019-10-01 16:50
2019-10-01 16:55
이런식으로 출력하고 싶습니다.
생각한 방법은 위 두 시간을 1분 단위로 출력한 다음 5분단위로 그룹핑 하는 방법인데요.
1분별로 출력하는 부분도 막혀서 도움을 부탁드립니다ㅠㅠ
감사합니다.
WITH t AS ( SELECT '2019-10-01 11:52' min_dt, '2019-10-01 16:52' max_dt ) SELECT s + INTERVAL (seq - 1) * 5 MINUTE x FROM (SELECT DATE_FORMAT(min_dt, '%Y-%m-%d %H') + INTERVAL FLOOR(MINUTE(min_dt) / 5) * 5 MINUTE s , DATE_FORMAT(max_dt, '%Y-%m-%d %H') + INTERVAL CEIL(MINUTE(max_dt) / 5) * 5 MINUTE e FROM t ) a , seq_1_to_999 b WHERE b.seq <= TIME_TO_SEC(TIMEDIFF(a.e, a.s)) / 60 / 5 + 1 ;