Для начала ты не сообщил, какой у тебя тип поля date...
Misha v.3 31.01.2003 21:45
Далее... Идем сюда:
http://www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html#Date_calculationsи внимательно читаем о функциях работы с датами - для общего развития.
далее, идем сюда:
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functionsпервый-же пример покажет нам как получить данные за последние 30 дней (не за последний месяц, проще заметить). далее задаем резонный вопрос - а надо-ли за последний месяц получать новости? что посетитель увилит 1-го числа? пустоту? ну если надо, начинаем читать дальше...
точнее читать уже нечего, все, что нудо - я упомянул выше. используй например что-то типа этого:
YEAR(NOW()) = YEAR(date) AND MONTH(NOW()) = MONTH(DATE)
Можно как ты пытаться создать ПОЛНУЮ ДАТУ и потом проверить, принадлежит-ли она диапазону, но... я считаю, что это хуже: _строка_ твоей полной даты будет преобразовываться к дате и потом будут производиться вычисления. Хотя в случае индекса найти принадлежность диапазону не сложно.
В любом случае - напишешь запрос - explain его...