|
MySQL.RU - Webboard
Вернуться
Сложный запрос с подсчетом (Egor) 28/07/2016 - 13:45:05
Re: Сложный запрос с подсчетом (Egor) 28/07/2016 - 14:46:19
> Original message text:
> From: Egor - 28/07/2016 - 13:45:05
> Subject:Сложный запрос с подсчетом
> -----------------
> Здравствуйте!
>
> Есть таблица
> [SRC]CREATE TABLE "oqv" (
> `id` INTEGER PRIMARY KEY AUTOINCREMENT,
> `object_id` INTEGER,
> `type_id` INTEGER,
> `view_id` INTEGER,
> `cnt` INTEGER DEFAULT 0
> )[/SRC]
>
> Явление (object_id), Признак (type_id), Наблюдение (view_id) - бывает только 1,2,3 и 4, Сколько раз наблюдалось (cnt)
>
>
> Входные данные: object_id
> V1,V2,V3,V4 - конкретное наблюдение по признаку
> V - сумма конкретных наблюдений признака
>
> Задача найти признак у которого минимальный
>
> CNTV1 CNTV2 CNTV3 CNTV4
> ------ * ------ * ------ * ------
> CNTV CNTV CNTV CNTV
>
>
> Не подскажите, с какой стороны подойти к решению?
>
>
>
From: Egor - 28/07/2016 - 14:46:19
Subject:Сложный запрос с подсчетом
-----------------
Решено, спасибо
select type_id, (
sum(if(view_id = 1, cnt, 0))
* sum(if(view_id = 2, cnt, 0))
* sum(if(view_id = 3, cnt, 0))
* sum(if(view_id = 4, cnt, 0))
) / pow(sum(cnt), 4) as mark
from oqv
where object_id = ?
group by type_id
order by mark desc
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
43609
|
|