Я нашел решение, я надеялся на более красивый запрос, но он работает ...
Я использую оператор IF, чтобы определить, является ли сейчас время до 9 утра или после, и, соответственно, подсчитываю записи (переменная H предназначена для тестирования, если вы введете 18, она работает с последних 18:00)
SET @H = "9";
SELECT
IF (TIMEDIFF(NOW(), SUBDATE(CURDATE(),INTERVAL (-@H) HOUR))<0,
SUM(CASE WHEN created>SUBDATE(CURDATE(),INTERVAL (-@H+24) HOUR) THEN 1 ELSE 0 END),
SUM(CASE WHEN created>SUBDATE(CURDATE(),INTERVAL (-@H) HOUR) THEN 1 ELSE 0 END)
) counter
FROM mytable