GROUP BY ...
для каждой строки подсчитать % от общего числа
Можно ли в ClickHouse это сделать без формирования промежуточной таблицы?
WITH? https://clickhouse.tech/docs/en/sql-reference/statements/select/with/
Вроде как 3-й пример близок, но у меня таблицы system.parts сложный многоуровневый SELECT с GROUP BY Придется его дублировать И не будет ли в этом случае запрос (или сканирование таблицы system.parts как в примере) выполняться дважды? Хотя покопаю теорию - прикину
Можно ещё через дополнительный вложенный запрос. Схлопнуть до TOTAL детализации, расчитываемый столбец пихнуть в массив и тут же его развернуть через array join, а рядом посчитать итого.
так в with нужно будет только 1 поле выбрать - with select sum(value) from my_table as total select (value/total) * 100 from … group by
Как-то так https://gist.github.com/aopetrov86/73684c19d3cc574e49ce2c0c3d89be47
Да спасибо - использование массивов должно помочь Прикину на свой случай
Огромное спасибо Получилось Логика секции ARRAY JOIN сходу трудно усваиваемая Надо попрактиковаться
Обсуждают сегодня