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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как выделить популярные темы на форуме?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
new01
Отправлено: 01 Сентября, 2011 - 16:34:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Есть таблица с сообщниями на форуме. У каждого сообщения есть колонка 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.  

(Добавление)
Блин, чё никто разве не знает?!


-----
new01
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Сентября, 2011 - 18:02:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *,COUNT(*) cnt FROM Messages
  2.   WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) < `Data`
  3.   ORDER BY `Data` DESC LIMIT 5

(Отредактировано автором: 01 Сентября, 2011 - 18:02:52)

 
 Top
new01
Отправлено: 01 Сентября, 2011 - 18:06:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Нет этот запрос вообще не понятно, что вывел.
У меня стал работать вот этот:
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.  


-----
new01
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB