Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос с расчетом, Сложный вопрос с подсчетом 
V
    Опции темы
Error202
  Дата 28.7.2016, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 5.11.2004
Где: Moscow

Репутация: нет
Всего: нет



Здравствуйте!

Есть таблица
Код

CREATE TABLE "oqv" (
    `id`    INTEGER PRIMARY KEY AUTOINCREMENT,
    `object_id`    INTEGER,
    `type_id`    INTEGER,
    `view_id`    INTEGER,
    `cnt`    INTEGER DEFAULT 0
)


Явление (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


Не подскажите, с какой стороны подойти к решению?


PM MAIL WWW   Вверх
Error202
  Дата 28.7.2016, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 5.11.2004
Где: Moscow

Репутация: нет
Всего: нет



решено, спасибо!

Код

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

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0965 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.