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 :: Посчитать сколько одинаковых значений поля... COUNT или ...?

 PHP.SU

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


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

> Без описания
Рачей
Отправлено: 07 Июня, 2016 - 19:38:28
Post Id


Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Окт. 2011  


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




Привет всем. Ломаю голову как мне заставить MySQL отработать что бы не городить огород в php.

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT
  3. t1.id,
  4. t1.user_id,
  5. nickname,
  6. imageurl,
  7. t1.title,
  8. competition_id,
  9. /*
  10. (
  11.         SELECT COUNT(id)
  12.         FROM cms_competition_work t6
  13.         WHERE  vote=(
  14.                 SELECT MAX(vote)
  15.                 FROM cms_competition_work t7
  16.                 WHERE t6.competition_id=t7.competition_id
  17.         )
  18. ) winner
  19. */
  20. FROM cms_competition_work t1
  21. JOIN cms_users t3 ON t3.id = t1.user_id
  22. JOIN cms_user_profiles t4 ON t4.user_id = t1.user_id
  23. JOIN cms_competition t5 ON t5.id = t1.competition_id
  24. WHERE vote=(
  25.         SELECT MAX(vote)
  26.         FROM cms_competition_work t2
  27.         WHERE t1.competition_id=t2.competition_id
  28. )
  29. LIMIT 6
  30.  


Есть задача, вывести на морду сайта 6 победителей конкурсов. Все с одной стороны просто есть приз в каждом конкурсе есть победитель. Победитель получил приз. Все что кроме закомментированого, работает как надо. Но вот оказалось что в конкурсе может победить 2 или даже 3 человека, и надо поделить баллы на это количество человек. Кусок кода в коменте мне выдает общее количество призеров.. А как бы мне получить количество победителей в каждом competition_id?
Помогите пожалуста. Есть вариант в цикле попробовать разобрать совпадение ключей массива, но что-то я там пробовал вообще ни каких мыслей как это сделать... array_count_values мне не помог. Или я просто не умею им пользоваться.
(Добавление)
Подписаться забыл.
 
 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