|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.06.2023, 10:57 | #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) обнуляет все проценты. Как может выглядеть такой запрос? |
06.06.2023, 12:17 | #2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Код:
Код:
1. Код:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
|
||
06.06.2023, 13:22 | #3 |
Новичок
Джуниор
Регистрация: 06.06.2023
Сообщений: 3
|
Благодарю. Попробую ваш вариант.
Мой вариант: Код:
Последний раз редактировалось newfam; 06.06.2023 в 13:41. |
07.06.2023, 00:25 | #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 |