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

Форум MySQL

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

 

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

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

тема: Выборка полей за прошлую неделю, за текущую
 
 автор: `JUP`   (13.01.2008 в 14:23)   письмо автору
 
 

Подскажите, как выбрать все поля, которые были записаны в базу за прошлую неделю?
Причем необходимо учесть, что неделя - не обязательно "от понедельника до понедельника", т.е. предусмотреть варианты "от вторника до вторника" и т.д.
Очень прошу, помогите!

   
 
 автор: cheops   (13.01.2008 в 14:34)   письмо автору
 
   для: `JUP`   (13.01.2008 в 14:23)
 

Используйте что-то вроде
SELECT * FROM tbl
WHERE putdate >= NOW() - INTERVAL 2 WEEK AND
    putdate < NOW() - INTERVAL 1 WEEK

Если версия MySQL не поддерживает недели WEEK, используйте дни DAY, исправив 2 на 14, а 1 на 7.

   
 
 автор: `JUP`   (13.01.2008 в 14:51)   письмо автору
 
   для: cheops   (13.01.2008 в 14:34)
 

cheops, Ваш запрос отсчитывает неделю от СЕГОДНЯ, а мне нужно независимо, от того какой день сегодня, выбрать записи за период с прошлого понедельника до понедельника...
Или я что то путаю?

Пробую нечто вроде

SELECT * FROM table WHERE WEEK(DATE_FORMAT(`time`, '%Y-%m-%D'), 1)=2

2 - для текущей недели, 1 для прошлой и т.д...
НО что то не получается, хотя помоему я близок к истине?

   
 
 автор: cheops   (13.01.2008 в 14:57)   письмо автору
 
   для: `JUP`   (13.01.2008 в 14:51)
 

Можно воспользоваться PHP или это должен быть чистый SQL?

   
 
 автор: `JUP`   (13.01.2008 в 15:05)   письмо автору
 
   для: cheops   (13.01.2008 в 14:57)
 

Конечно можно, только вычислять на PHP разницу 2х дат по неделям для меня еще более муторная задача =(

Я вот не пойму - почему DATE_FORMAT не хочет форматировать TIMESTAMP..

   
 
 автор: Trianon   (13.01.2008 в 14:35)   письмо автору
 
   для: `JUP`   (13.01.2008 в 14:23)
 

-

   
 
 автор: `JUP`   (13.01.2008 в 15:50)   письмо автору
 
   для: Trianon   (13.01.2008 в 14:35)
 


SELECT * 
FROM table
WHERE WEEK( DATE_FORMAT( FROM_UNIXTIME( `time` ) , '%Y-%m-%D' ) , 1 ) =2

если кому-то интересно)
Всем спасибо))

   
Rambler's Top100
вверх

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