Clickhouse:两个版本之间的行结果差异

Clickhouse: Difference in row results between 2 versions

版本 19.13.3.26 以下查询 returns 1 行:

select   -1 as brandidTotal, toDecimal64(Sum(CostpriceSEK),2) as costprice
  from mytable
  where Stylenumber = 'a row which does not exist'  
  group by brandidTotal

但是在版本 22.2.2.1 中它 returns 一个空结果(我能理解,因为在哪里找不到任何行)

聚合函数 SUM 的行为似乎发生了变化。 (如果第二列被删除,两者 returns 都是一个空集)

是否可以让 22X 版本像 19x 一样处理它?

  --empty_result_for_aggregation_by_constant_keys_on_empty_set 
            Return empty result when aggregating by constant keys on empty set.


select -1 x, count() from (select 1 yyy where 0) group by x;

0 rows in set. Elapsed: 0.002 sec.


set empty_result_for_aggregation_by_constant_keys_on_empty_set=0;

select -1 x, count() from (select 1 yyy where 0) group by x;

┌──x─┬─count()─┐
│ -1 │       0 │
└────┴─────────┘

默认为所有人启用它

cat /etc/clickhouse-server/users.d/const_aggr_emp.xml
<?xml version="1.0" ?>
<yandex>
    <profiles>
        <default>
            <empty_result_for_aggregation_by_constant_keys_on_empty_set>0</empty_result_for_aggregation_by_constant_keys_on_empty_set>
        </default>
    </profiles>
</yandex>