![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 06.06.2023
Сообщений: 3
|
![]()
Есть таблица.
Points - максимальный бал. Answer - коэф-нт от нуля до 1 с шагом 0.1 Flag - флаг важности показателя. id zoneid points answer flag 1 1 10 0.8 false 2 1 10 0.1 false 3 1 10 0.5 false Нужно сгруппировать данные по zoneid и вычислить средний процент по формуле sum(points*answer)/sum(points) Для указанной таблице результат будет (10*0.8+10*0.1+10*0.5)/(10+10+10) = 14/30 * 100 = 46.6% С этим запросом проблем нет. id zoneid points answer flag 1 1 10 0.8 false 2 1 10 0.1 false 3 1 10 0 true Но если в поле flag будет true, то результат группировки должен быть равен нулю. Это можно рассматривать как флаг важности и он (answer=0 и flag =true) обнуляет все проценты. Как может выглядеть такой запрос? |
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
Код:
Код:
1. Код:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
|
||
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 06.06.2023
Сообщений: 3
|
![]()
Благодарю. Попробую ваш вариант.
Мой вариант: Код:
Последний раз редактировалось newfam; 06.06.2023 в 13:41. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 06.06.2023
Сообщений: 3
|
![]()
Воспользовался вашим советом - помогло.
Мой вариант работал только на одной группе zoneID. Стоило добавить еще один набор данных - расчет повёл себя некорректно. Узнал для себя удобное применение max и min для формирования состояния выборки. Спасибо еще раз! Решение: Код:
Последний раз редактировалось newfam; 07.06.2023 в 12:38. Причина: Изменен SQL запрос в ответе |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с условием | AndreyIRK | SQL, базы данных | 4 | 13.04.2019 14:38 |
Запрос на группировку и сортировку | gigar | БД в Delphi | 9 | 22.03.2013 11:43 |
Запрос с условием Not In | d_adilet | Microsoft Office Access | 1 | 29.03.2012 08:50 |
Запрос с условием | ArtInt | SQL, базы данных | 2 | 05.05.2010 15:58 |
SQL запрос с условием | Veiron | SQL, базы данных | 4 | 30.03.2010 19:58 |