2013-09-03 1 views
0

У меня есть таблица базы данных 'email_log', который будет заполнен информацией, как: пользователь, субъект и открыт (как DateTime)пытаясь сосчитать данные MySQL между time1 и time2

Что мне нужно, это новый запрос, из которого я может видеть, сколько строк содержит столбец «открыт» между 08:00 и 09:00.

То, что я не работал:

SELECT count(*) as count FROM email_log WHERE opened BETWEEN '00:08:00' AND '00:09:00'; 

Кто-нибудь знает трюк?

+0

возможный дубликат [MySQL: получить количество записей между двумя даты и времени] (http://stackoverflow.com/questions/5786649/mysql-get-record-count-between-two-date-time) – SubSevn

ответ

0

попробовать

SELECT count(*) as count FROM email_log WHERE 
opened BETWEEN STR_TO_DATE('5/15/2012', '%c/%e/%Y') 
AND STR_TO_DATE('5/15/2012', '%c/%e/%Y'); // date only 

SELECT count(*) as count FROM email_log WHERE 
opened BETWEEN STR_TO_DATE('8:06:26 AM', '%r') 
AND STR_TO_DATE('8:06:26 AM', '%r'); // time only 
0

Попробуйте

SELECT COUNT(*) AS COUNT 
FROM email_log 
WHERE DATE_FORMAT(opened,"%H:%i:%S") > '00:08:00' AND DATE_FORMAT(opened,"%H:%i:%S") < '00:09:00' 
+0

это делает трюк. очень полезно! – user2435700

+0

спасибо, если примите anser :) –

Смежные вопросы