mysql: получить количество записей между двумя датами и временем - PullRequest
38 голосов
/ 26 апреля 2011

Я застрял с проблемой в MySQL. Я хочу получить количество записей между двумя записями даты и времени.
Например:
В моей таблице есть столбец с именем 'create', имеющий тип данных datetime.

Я хочу посчитать записи, которые были созданы датой между «СЕГОДНЯ 4:30» и «ТЕКУЩЕЙ ВРЕМЯ ДАТЫ».

Я перепробовал некоторые функции MySQL, но мне все равно не повезло.

Не могли бы вы помочь мне с этим? спасибо.

Ответы [ 3 ]

72 голосов
/ 26 апреля 2011

Может быть с:

SELECT count(*) FROM `table` 
where 
    created_at>='2011-03-17 06:42:10' and created_at<='2011-03-17 07:42:50';

или используйте between:

SELECT count(*) FROM `table` 
where 
    created_at between '2011-03-17 06:42:10' and '2011-03-17 07:42:50';

Вы можете изменить дату и время в соответствии с вашими потребностями. Можно использовать curdate() или now(), чтобы получить нужные даты.

6 голосов
/ 26 апреля 2011
select * from yourtable where created < now() and created > '2011-04-25 04:00:00'
5 голосов
/ 26 апреля 2011
select * from yourtable 
   where created < now() 
     and created > concat(curdate(),' 4:30:00 AM') 
...