2009-09-24 2 views
34

Как выбрать данные из таблицы mysql прошлой даты и текущей даты? Например, выберите данные с 1 января 2009 года до текущей даты?Выберите запрос mysql между датой?

Мой столбец «дата-время» относится к дате даты. Пожалуйста, помогите, спасибо

Edit:

Если скажем я хочу, чтобы получить день в день данные с 1 января 2009 года, как написать запрос? Использовать счетчик и между функциями?

ответ

54
select * from *table_name* where *datetime_column* between '01/01/2009' and curdate() 

или с использованием >= и <=:

select * from *table_name* where *datetime_column* >= '01/01/2009' and *datetime_column* <= curdate() 
+0

Cool. Оно работает. ПОСЛЕДНИЙ вопрос: Если я хочу показывать данные в день с 01/01/2009, нужно использовать функцию count правильно? Любая идея, как реализовать? – 2009-09-24 04:01:47

+0

Вы можете использовать «group by» и «order by», например: выберите * из [table_name], где [datetime_column] между '01/01/2009 'и группой curdate() по [datetime_column], по [datetime_column] –

+0

Я пробовал это: SELECT *, count (*) из таблицы WHERE datetime BETWEEN '2009-01-01' AND '2009-09-01' GROUP BY datetime; , но число равно 1. оно должно быть 10, 5, 8 и т. Д. – 2009-09-24 04:09:18

12

Вы можете использовать now() как:

Select data from tablename where datetime >= "01-01-2009 00:00:00" and datetime <= now(); 
19

всех вышеперечисленных работ, а вот еще один способ, если вы просто хотите, чтобы количество дней/времени назад, а не даты ввода

select * from *table_name* where *datetime_column* BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() 
+0

Это довольно аккуратно! – frankster

+0

Это отлично работает! – lucasarruda

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