Выборка по промежутку дат

DV

Guest
Выборка по промежутку дат

Я, по-моему, совсем отупел...:D
Как мне сделать выборку объявлений (количество дней выбирает пользователь)? Надо чтобы дата объявления была больше или равна сегодня минус количество дней...правильно? А как это сделать с селекте...???:(
 

DV

Guest
Всё, спасибо!
Кажись, ещё не совсем мне так плохо...:)
DATE_ADD(dataobyav, INTERVAL количество DAY) > now()
 

ForJest

- свежая кровь
Лучше тогда уже
dataobyav > DATE_SUB(NOW(), INTERVAL $days DAY);
А отсюда следует очень простой вариант
dataobyav > '$php_date';

$php_date - это дата вычисленная в PHP :)
 

lucas

Guest
Есть подозрение, что вышеприведенные примеры не используют индексы.
 

Crazy

Developer
Автор оригинала: lucas
Есть подозрение, что вышеприведенные примеры не используют индексы.
А нельзя ли рассказать, чем подозрителен этот пример?

Код:
dataobyav > DATE_SUB(NOW(), INTERVAL $days DAY);
 

.des.

Поставил пиво кому надо ;-)
Автор оригинала: Crazy
А нельзя ли рассказать, чем подозрителен этот пример?

Код:
dataobyav > DATE_SUB(NOW(), INTERVAL $days DAY);
Наверняка кто то опасается, что mysql оптимизатор не додумается что DATE_SUB(NOW(), INTERVAL $days DAY) это константа :)
 

ForJest

- свежая кровь
А он додумается? Ведь это же выражение таки, да... И должно быть вычислено по идее для каждой строки...
 

.des.

Поставил пиво кому надо ;-)
explain по моему ясно об этом говорит.
 
Сверху