Выбрать недели от Пн до Пн

Тема в разделе "Базы данных", создана пользователем terkin, 21 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    Вобщем нужно выбирать данные из базы по неделям
    Для нахождения даты текущего понедельника использую:
    Код:
    SELECT date_sub( curdate(), interval weekday(curdate()) day)
    Для прошедшей недели
    Код:
    SELECT date_sub( curdate()-7, interval weekday(curdate()) day)
    А вот
    Код:
    SELECT date_sub( curdate()-21, interval weekday(curdate()) day)
    Возвращает NULL, как выбрать данные 4х недельно давности?
     
  2. Roman2002

    Roman2002 Писатель

    Регистр.:
    11 янв 2008
    Сообщения:
    3
    Симпатии:
    0
    Код:
    ...WHERE DATEDIFF(NOW(), day) BEETWEN 21 AND 27;
    // или
    ...WHERE DATEDIFF(SUBDATE(NOW(), 21), day) BEETWEN 1 AND 7;
    
    думаю, принцип понятен ;)
     
  3. Poi$0n

    Poi$0n Прохожие

    А не проще воспользоваться встроенной функцией определения номера недели week()? Тогда решение задачи сводится к определению текущего номера недели и выборки всех значений от текущей, до текущей -4.
     
Статус темы:
Закрыта.