Я использовал следующий запрос, чтобы получить счетчик на основе временного диапазона. вычесть текущее время из созданного времени, но оно выдает ошибку
Код ошибки 1064, состояние SQL 42000: у вас ошибка в SQL
синтаксис; проверьте руководство, соответствующее вашей версии сервера MySQL
для правильного синтаксиса использовать около 'TO 8, а затем' 8Hrs '
КОГДА раунд (time_to_sec (timediff (now (), `create_date_t ') в строке 4
SELECT t.range, count(*) as num
FROM (
SELECT CASE
WHEN round(time_to_sec(timediff(now() , `created_date_time`))/3600) BETWEEN 0 TO 8 then '8Hrs'
WHEN round(time_to_sec(timediff(now() , `created_date_time`))/3600) BETWEEN 9 TO 16 then '16Hrs'
WHEN round(time_to_sec(timediff(now() , `created_date_time`))/3600) BETWEEN 17 TO 24 then '24Hrs'
WHEN round(time_to_sec(timediff(now() , `created_date_time`))/3600) > 24 then 'G24Hrs'
AS range
FROM `ticket`
) as t
GROUP BY range
И я должен избегать повторения
round(time_to_sec(timediff(now() , created_date_time))/3600)
заявление.
структура таблицы
id created_date_time issue
-------------------------------------
1 2011-12-07 05:29:28 test
2 2011-12-08 07:56:15 test
3 2011-12-08 05:56:15 test
создать запрос
CREATE TABLE `ticketingsystem`.`ticket` (
`id` bigint( 20 ) NOT NULL AUTO_INCREMENT ,
`created_date_time` datetime NOT NULL ,
`issue` text NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1
Я хочу ниже вывода
в этих полях нет записей, ожидающих времени с момента создания записи
8hrs 16hrs 24hrs >24hr
---------------------------------
3 2 6 4