Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вывести из базы все записи за 1 день?
 
 автор: oli   (02.01.2012 в 22:39)   письмо автору
 
 

Подскажите пожалуйста, как вывести из базы все записи за 1 день?
Если формат даты в timestamp

  Ответить  
 
 автор: OLi   (02.01.2012 в 22:40)   письмо автору
 
   для: oli   (02.01.2012 в 22:39)
 

Нашел вот такой пример, он сойдет?
SELECT * FROM notes WHERE `date` > NOW() - INTERVAL 1 DAY

  Ответить  
 
 автор: cheops   (02.01.2012 в 23:09)   письмо автору
 
   для: OLi   (02.01.2012 в 22:40)
 

Да, сойдет. Только следует учитывать, что выборка за последние сутки, а не с начала дня.

  Ответить  
 
 автор: OLi   (02.01.2012 в 23:20)   письмо автору
 
   для: cheops   (02.01.2012 в 23:09)
 

А можете мне пояснить запрос, чтобы я разобрался, потому как его нашел в интернете, и что следует дописать, чтобы с начала дня делал выборку?

  Ответить  
 
 автор: cheops   (02.01.2012 в 23:43)   письмо автору
 
   для: OLi   (02.01.2012 в 23:20)
 

Здесь от текущей даты NOW() вчитаются одни сутки INTERVAL 1 DAY. Получается выборка всех записей от точки времени сутки назад до текущего момента.

  Ответить  
 
 автор: OLi   (02.01.2012 в 23:47)   письмо автору
 
   для: cheops   (02.01.2012 в 23:43)
 

Понял, а конкретно за сутки как вывести?

  Ответить  
 
 автор: cheops   (02.01.2012 в 23:51)   письмо автору
 
   для: OLi   (02.01.2012 в 23:47)
 

Есть бронебойный прием (не самый скоростной правда), воспользоваться оператором LIKE, т.е. формируете конкретные сутки, например 2012-01-02, добавляете % и подставляете в LIKE
SELECT * FROM notes WHERE `date` LIKE '2012-01-02%';

  Ответить  
 
 автор: OLi   (03.01.2012 в 00:20)   письмо автору
 
   для: cheops   (02.01.2012 в 23:51)
 

Ох, у меня timstamp, как быть с ним?

  Ответить  
 
 автор: OLi   (03.01.2012 в 04:19)   письмо автору
 
   для: OLi   (03.01.2012 в 00:20)
 

Не могу найти решение, буду рад помощи

  Ответить  
 
 автор: Valick   (03.01.2012 в 09:51)   письмо автору
 
   для: OLi   (03.01.2012 в 04:19)
 

Можно использовать frrom_unixtime и curdate
Или to_days

  Ответить  
 
 автор: cheops   (03.01.2012 в 10:46)   письмо автору
 
   для: OLi   (03.01.2012 в 00:20)
 

Да там же сейчас помоему такой же формат, как DATETIME, да будет медленнее, но все должно работать... или не срабатывает (сам не очень люблю TIMESTAMP, быстрее триггер повешу, чем им воспользуюсь - много подводных камней)?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования