Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
Имеется таблица с сгруппированными данными. Нужно посчитать процент каждой группы от суммы всех групп. есть ограничения 1. Сделать все это одним запросом. 2. Подключить такую же таблицу, но агрегированную по всем группам (чтобы получить сумму всех) нельзя. Что-то пару часов ломаю голову, но решения пока не вижу. Исходная таблица Name ValueIvan100Vlad150Mark250 Хочется получить Name Value PercentIvan10020Vlad15030Mark25050 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 14:20 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
SQL2008, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 14:34 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
SQL2008, https://docs.microsoft.com/ru-ru/sql/t-sql/queries/select-over-clause-transact-sql?view=sql-server-2017 пример Е только у тебя будет Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 14:36 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
Cristiano_RivaldoSQL2008, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Да, тоже уже сделал через CTE... По другому не смог придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 14:49 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
Спасибо всем откликнувшимся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 14:51 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
SQL2008Да, тоже уже сделал через CTE... По другому не смог придумать. Код: sql 1. 2. 3. 4. 5. Вариант через sum() over предпочтительнее. ЗЫ: предложение partition by не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 15:10 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
GufSQL2008, https://docs.microsoft.com/ru-ru/sql/t-sql/queries/select-over-clause-transact-sql?view=sql-server-2017 пример Е только у тебя будет Код: sql 1. А зачем там PARTITION ? Он, вообще-то, необязателен. Просто OVER() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 15:18 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
invmSQL2008Да, тоже уже сделал через CTE... По другому не смог придумать. Код: sql 1. 2. 3. 4. 5. Вариант через sum() over предпочтительнее. Подключить такую же таблицу, но агрегированную по всем группам (чтобы получить сумму всех) нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 16:22 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
SQL2008Подключить такую же таблицу, но агрегированную по всем группамИ где вы это увидели в предложенном запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 16:31 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
invmSQL2008Подключить такую же таблицу, но агрегированную по всем группамИ где вы это увидели в предложенном запросе? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 16:42 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
SQL2008, Это запрос, а не агрегированная таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 16:45 |
|
||
|
Посчитать проценты после группировки для каждой группы от суммы всех групп
|
|||
|---|---|---|---|
|
#18+
invmSQL2008, Это запрос, а не агрегированная таблица. Возможно я не совсем корректно выразился. Имелось в виду, что нельзя связать две одинаковые таблицы, так как ID у таблицы нет (увы, это так), а полей, по которым данные можно точно сопоставить порядка 10. Если их все выводить в GROUP BY, то агрегированные данные рассыплются на более мелкие суммы. Конечно можно все завернуть еще в один запрос с группировками, но этого сильно не хотелось. Отсюда и "нельзя" Вообще решение уже найдено, вопрос переходит в разряд академических. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2019, 16:49 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=98&tid=1687669]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 367ms |

| 0 / 0 |
