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 :: Версия для печати :: Посчитать сколько одинаковых значений поля... COUNT или ...?
Форумы портала PHP.SU » » Работа с СУБД » Посчитать сколько одинаковых значений поля... COUNT или ...?

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

1. Рачей - 07 Июня, 2016 - 19:38:28 - перейти к сообщению
Привет всем. Ломаю голову как мне заставить 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 мне не помог. Или я просто не умею им пользоваться.
(Добавление)
Подписаться забыл.

 

Powered by ExBB FM 1.0 RC1