которой фильтрация по атрибуту возвращает пустой результат:
Я хочу получить результат такой, чтобы группировка по некоторому признаку возвращала вместо пустого ответа 0.
Т.е. сейчас запрос:
select
foo,
count(*) as cnt
from some_db
where atribute = 0
group by foo
Возвращает null, а хочется чтобы было
foo cnt
A 0
B 0
C 0
Можно ли этого как-то добиться?
select foo, countIf(atribute = 0) as cnt from some_db group by foo готовьтесь к тормозам :) ни пк ни индексы с таким подходом не сработают и будет лопатиться вся таблица
Спасибо, это сработало! и это действительно медленно)
версия кх, какая ?
21.3.11.5
ещё довоенная, пора бы обновиться
Думаю это то что нужно, но оно с 21.12 как я помню https://clickhouse.com/docs/ru/sql-reference/statements/select/order-by/#orderby-with-fill
на больное надавили
я пробовал модификаторы в group by, но не вышло. Сейчас попробовал ваш совет, тоже не помогло. Предложение Владимира рабочее, медленное, но рабочее. В моём кейсе скорость не нужна, поэтому для меня это оказалось хорошим выходом из ситуации
Обсуждают сегодня