Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчитать рейтинг в зависимости от количества голосов и сообщений
 
 автор: buka   (28.08.2007 в 12:53)   письмо автору
 
 

Есть таблицы 4 штуки:

1 - Пользователи
2 - Сообщения
3 - комментария к сообщениям
4 - голоса к сообщения

Мне нужно посчитать рейтинг согласно количеству голосов + кол-во комментариев на сообщения.

То есть как мне посчитать кол-во голосов на сообщения и количество комментов на сообщения пользователя в одном запросе

Заранее спасибо

   
 
 автор: Trianon   (28.08.2007 в 13:28)   письмо автору
 
   для: buka   (28.08.2007 в 12:53)
 

неплохо было бы привести дамп таблиц (хотя бы структуру) и пояснить связи между ними.

   
 
 автор: buka   (28.08.2007 в 16:44)   письмо автору
2.2 Кб
 
   для: Trianon   (28.08.2007 в 13:28)
 

Прикрепил файлик со структурой

   
 
 автор: buka   (28.08.2007 в 19:44)   письмо автору
 
   для: buka   (28.08.2007 в 16:44)
 

Ну помогите плиз очень надо

   
 
 автор: Trianon   (29.08.2007 в 00:53)   письмо автору
 
   для: buka   (28.08.2007 в 19:44)
 

примерно так.

SELECT m.*, vcnt, ccnt
  FROM message AS m
   JOIN (
      SELECT m1.id AS m1_id, COUNT(v.id) AS vcnt
        FROM message AS m1 JOIN vote AS v ON m1.id = v.mess_id
      GROUP BY m.id
  ) AS tm1 ON m.id = m1_id
   JOIN (
      SELECT m2.id AS m2_id, COUNT(c.id) AS ccnt
        FROM message AS m2 JOIN comment AS c ON m2.id = c.mess_id
      GROUP BY m2.id
  ) AS tm2 ON m.id = m2_id
ORDER BY vcnt,ccnt


Если бы Вы прикрепили не скриншот клиента mysql.exe, а архив с дампом (получить можно например с помощью phpMyAdmin - раздел Экспорт, или с помощью mysqldump.exe )
То можно было бы проверить запрос на реальных данных, а так - берите сырой пример.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования