关于druid:Apache-Druid聚合函数maxmin的默认值问题

42次阅读

共计 269 个字符,预计需要花费 1 分钟才能阅读完成。

问题形容:

需要是对某一个字段取最大值和最小值,并且过滤条件不统一,就想到了 druid 聚合函数反对携带 filter 子句这一个性,按想法写进去但后果有点奇怪。

问题剖析:

因为须要统计某个字段的最大值和最小值,并且在有 Filter 条件的状况下,因为 Filter 条件过滤之后的无后果,所以触发了聚合函数的默认值。
这一点在官网中失去了印证。

解决办法:

count 聚合函数联合 case 子句对空行数据强制赋 0。
先用 count 函数求出过滤条件下的行数。
用 case 子句判断这个行数是否是 0,
如果是 0 则强制赋 0,
如果不是 0 则认为至多有一条数据,能够应用聚合函数。

正文完
 0