これを試してください:
SELECT MIN(creation_date), MAX(creation_date), COUNT(*) AS Occurrences
FROM test
GROUP BY DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR))
作業デモ: http://sqlfiddle.com/#!2/aa7583/6 >
フォーマット部分については、これを使用してください:
SELECT CONCAT( CONCAT(DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR)),' 19:00:00') , ' - ' , CONCAT(DATE(DATE_ADD(creation_date, INTERVAL 5 HOUR)), ' 18:59:00') ) AS Interval, COUNT(*) AS Occurrences
FROM test
GROUP BY DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR))