версиями 18.14.12 new и old 1.1.542
new:
SELECT max(adId) AS maxAdId
FROM d_events
WHERE date > '2020-01-01'
┌─maxAdId─┐
│ 0 │
└─────────┘
1 rows in set. Elapsed: 0.013 sec.
old:
SELECT max(adId) AS maxAdId
FROM d_events
WHERE date > '2020-01-01'
Ok.
0 rows in set. Elapsed: 0.007 sec.
Теперь всегда выдает резултат 0 если нету данных?
# cat /etc/clickhouse-server/conf.d/empty_result_instead_of_zero.xml <?xml version="1.0"?> <yandex> <profiles> <default> <!-- 1.1.54362 We are not ready for aggregating functions to return 0 insted of an empty set --> <empty_result_for_aggregation_by_empty_set>1</empty_result_for_aggregation_by_empty_set> </default> </profiles> </yandex> Релиз ClickHouse 1.1.54362, 2018-03-11 Агрегация без GROUP BY по пустому множеству (как например, SELECT count(*) FROM table WHERE 0) теперь возвращает результат из одной строки с нулевыми значениями агрегатных функций, в соответствии со стандартом SQL. Вы можете вернуть старое поведение (возвращать пустой результат), выставив настройку empty_result_for_aggregation_by_empty_set в значение 1.
Обсуждают сегодня