Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как выделить популярные темы на форуме?
Форумы портала PHP.SU » » Работа с СУБД » Как выделить популярные темы на форуме?

Страниц (1): [1]
 

1. new01 - 01 Сентября, 2011 - 16:34:08 - перейти к сообщению
Есть таблица с сообщниями на форуме. У каждого сообщения есть колонка Nametema - это название темы к которой принадлежит сообщение. Также есть колонка Data- дата написания. Надо выделить 5 популярных тем за последние 7 дней.
Т.е. надо найти темы, где больше всего сообщений за последние 7 дней.
Используя ниже приведённый запрос получаю ноль. В чём проблема? Таблица заполнена сообщениями.
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT count(Nametema),Max(Nametema) FROM Message  WHERE (day(NOW())-day(`Data`) BETWEEN 0 AND 8) GROUP BY Nametema ORDER BY count(Nametema) DESC  LIMIT 5
  3.  

(Добавление)
Блин, чё никто разве не знает?!
2. DeepVarvar - 01 Сентября, 2011 - 18:02:22 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *,COUNT(*) cnt FROM Messages
  2.   WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) < `Data`
  3.   ORDER BY `Data` DESC LIMIT 5
3. new01 - 01 Сентября, 2011 - 18:06:10 - перейти к сообщению
Нет этот запрос вообще не понятно, что вывел.
У меня стал работать вот этот:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. SELECT count(Nametema),Max(Nametema) FROM Message  WHERE (TO_DAYS(NOW())-TO_DAYS(`Data`) BETWEEN 0 AND 8) GROUP BY Nametema ORDER BY count(Nametema) DESC  LIMIT 5
  4.  

 

Powered by ExBB FM 1.0 RC1