|
|
|
| Подскажите, как выбрать все поля, которые были записаны в базу за прошлую неделю?
Причем необходимо учесть, что неделя - не обязательно "от понедельника до понедельника", т.е. предусмотреть варианты "от вторника до вторника" и т.д.
Очень прошу, помогите! | |
|
|
|
|
|
|
|
для: `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. | |
|
|
|
|
|
|
|
для: cheops
(13.01.2008 в 14:34)
| | cheops, Ваш запрос отсчитывает неделю от СЕГОДНЯ, а мне нужно независимо, от того какой день сегодня, выбрать записи за период с прошлого понедельника до понедельника...
Или я что то путаю?
Пробую нечто вроде
SELECT * FROM table WHERE WEEK(DATE_FORMAT(`time`, '%Y-%m-%D'), 1)=2
|
2 - для текущей недели, 1 для прошлой и т.д...
НО что то не получается, хотя помоему я близок к истине? | |
|
|
|
|
|
|
|
для: `JUP`
(13.01.2008 в 14:51)
| | Можно воспользоваться PHP или это должен быть чистый SQL? | |
|
|
|
|
|
|
|
для: cheops
(13.01.2008 в 14:57)
| | Конечно можно, только вычислять на PHP разницу 2х дат по неделям для меня еще более муторная задача =(
Я вот не пойму - почему DATE_FORMAT не хочет форматировать TIMESTAMP.. | |
|
|
|
|
|
|
|
для: `JUP`
(13.01.2008 в 14:23)
| | - | |
|
|
|
|
|
|
|
для: Trianon
(13.01.2008 в 14:35)
| |
SELECT *
FROM table
WHERE WEEK( DATE_FORMAT( FROM_UNIXTIME( `time` ) , '%Y-%m-%D' ) , 1 ) =2
|
если кому-то интересно)
Всем спасибо)) | |
|
|
|