Size: a a a

ClickHouse не тормозит

2020 June 21

IG

Ilona Gladysheva in ClickHouse не тормозит
Dj
в других базах есть поддержка HAVING (condition) OR Groupkeys
угу, я понимаю.. спасибо!
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
угу, я понимаю.. спасибо!
Да, надо импрувмент ишшю на GROUPING()
источник

D

Dj in ClickHouse не тормозит
в КХ rollup недоделан просто наверно
источник

D

Dj in ClickHouse не тормозит
то что хотите вы решается именно так
источник

D

Dj in ClickHouse не тормозит
а вот с негативными все плохо, странная логика как минимум
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Вообще мне кажется, что когда разработчики придумали rollup, они просто забыли что есть having)) потому что их комбинация приводит к абсурдным данным
источник

AK

Anton Khokhrin in ClickHouse не тормозит
Я тут нагуглил, но не факт, что поможет
https://clickhouse.tech/docs/en/sql-reference/statements/select/group-by/#configuring-totals-processing
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Dj
в КХ rollup недоделан просто наверно
так видимо он и в Oracle не доделан))
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
офигеть!!!
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
спасибо большое!! мне кажется это то, что надо
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
так видимо он и в Oracle не доделан))
Нет, я насчет поддержки слова grouping(), чтобы можно было фильтровать как угодно
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Dj
Нет, я насчет поддержки слова grouping(), чтобы можно было фильтровать как угодно
аа, поняла
источник

D

Dj in ClickHouse не тормозит
Ну вот, и тут костыль нашелся )
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Dj
Ну вот, и тут костыль нашелся )
😄
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ilona Gladysheva
так видимо он и в Oracle не доделан))
И в pg
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
так видимо он и в Oracle не доделан))
select a, sum(b)
from
(
select 1 a, 100 b from dual
union all
select 2, 200 from dual
union all
select 2, 300 from dual
union all
select 3, 300 from dual
) t
group by rollup(a)
having sum(b) < 500  or grouping(a)=1
order by a;


т.е. вот ваш юз кейс в здоровом SQL :)
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
так видимо он и в Oracle не доделан))
стоп, все правильно с отрицательными числами, не сбивайте с пути истинного
источник

D

Dj in ClickHouse не тормозит
и в ПГ все правильно тут
подзапрос возвращает тотал -300, это меньше чем 100
https://t.me/clickhouse_ru/167854
источник

D

Dj in ClickHouse не тормозит
select a, sum(b)
from
(
select 1 a, -100 b
union all
select 2, -200
union all
select 2, -300
union all
select 3, 900
) t
group by a with rollup
having sum(b) < 100
order by a;

вот так все прекрасно фильтруется
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Да. Я про это и писал. Что having работает на все строки и в самом конце
источник