Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Посчитать сколько одинаковых значений поля... (Саша) 07/06/2016 - 21:31:16
      Re: Посчитать сколько одинаковых значений поля... (Akina) 08/06/2016 - 09:56:13
      Re: Посчитать сколько одинаковых значений поля... (Саша) 08/06/2016 - 17:43:08
      Re: Посчитать сколько одинаковых значений поля... (Akina) 08/06/2016 - 18:12:55
      Re: Посчитать сколько одинаковых значений поля... (Саша) 08/06/2016 - 23:24:16
      Re: Посчитать сколько одинаковых значений поля... (Саша) 09/06/2016 - 00:06:00
      Re: Посчитать сколько одинаковых значений поля... (Akina) 09/06/2016 - 11:06:10
      Re: Посчитать сколько одинаковых значений поля... (Саша) 12/06/2016 - 01:38:03

> Original message text:
> From: Саша - 07/06/2016 - 21:31:16
> Subject:Посчитать сколько одинаковых значений поля...
> -----------------
> Привет всем. Ломаю голову как мне заставить MySQL отработать что бы не городить огород в php.
>
> [code=SQL]
> SELECT
> t1.id,
> t1.user_id,
> nickname,
> imageurl,
> t1.title,
> competition_id,
> /*
> (
> SELECT COUNT(id)
> FROM cms_competition_work t6
> WHERE vote=(
> SELECT MAX(vote)
> FROM cms_competition_work t7
> WHERE t6.competition_id=t7.competition_id
> )
> ) winner
> */
> FROM cms_competition_work t1
> JOIN cms_users t3 ON t3.id = t1.user_id
> JOIN cms_user_profiles t4 ON t4.user_id = t1.user_id
> JOIN cms_competition t5 ON t5.id = t1.competition_id
> WHERE vote=(
> SELECT MAX(vote)
> FROM cms_competition_work t2
> WHERE t1.competition_id=t2.competition_id
> )
> LIMIT 6
> [/code]
>
> Есть задача, вывести на морду сайта 6 победителей конкурсов. Все с одной стороны просто есть приз в каждом конкурсе есть победитель. Победитель получил приз. Все что кроме закомментированого, работает как надо. Но вот оказалось что в конкурсе может победить 2 или даже 3 человека, и надо поделить баллы на это количество человек. Кусок кода в коменте мне выдает общее количество призеров.. А как бы мне получить количество победителей в каждом competition_id?
> Помогите пожалуста. Есть вариант в цикле попробовать разобрать совпадение ключей массива, но что-то я там пробовал вообще ни каких мыслей как это сделать... array_count_values мне не помог. Или я просто не умею им пользоваться.
>


From: Akina - 09/06/2016 - 11:06:10
Subject:Посчитать сколько одинаковых значений поля...
-----------------
> а можно округлить сумму до целого в меньшую сторону?

Можно. Функция FLOOR().

> Мне-то победителей надо вывести а не сумму приза.

Но, не посчитав баллы, ты не получишь их суммарный балл и не выведешь ТОП победителей.

> А как тут подзапрос после FROM ?? это типа джойна получается только более гибкий чтоли??

Представь, что весь подзапрос вместе со скобками ты убрал, но у тебя есть таблица, в которой содержатся данные, даваемые подзапросом, или вьюв с этим подзапросом. Т.е.

SELECT ..[text1]..
FROM ... ,
(SELECT ..[text2]..) AS sometable
... ;

понимай как, например

CREATE VIEW sometable AS (SELECT ..[text2]..);

SELECT ..[text1]..
FROM ... ,
sometable
... ;




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43573



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |