时间窗口聚合中COUNT函数未按预期返回0问题
GridDB时间窗口聚合COUNT函数行为不符合预期
GridDB官方文档明确说明:COUNT聚合函数在无可用计算行时返回0,其他聚合函数返回NULL。但实际测试中发现时间窗口聚合场景下,COUNT函数的行为和普通聚合不一致:
测试代码
DROP TABLE t0; CREATE TABLE IF NOT EXISTS t0(time TIMESTAMP PRIMARY KEY, c0 INTEGER); INSERT INTO t0 VALUES(TIMESTAMP('2023-01-01T00:00:00Z'), 1); -- Query 1:时间窗口聚合查询 SELECT COUNT(c0), time FROM t0 WHERE (time) >= (TIMESTAMP('2022-01-01T16:00:10Z')) AND (time) <= (TIMESTAMP('2022-01-01T16:00:20Z')) GROUP BY RANGE(time) EVERY (10, SECOND) FILL(NONE); -- Query 2:普通聚合查询 SELECT COUNT(c0), time FROM t0 WHERE (time) >= (TIMESTAMP('2022-01-01T16:00:10Z')) AND (time) <= (TIMESTAMP('2022-01-01T16:00:20Z'));
预期与实际结果
- 预期:Query 1和Query 2均返回0
- 实际:Query 1返回空集,Query 2返回0
这种行为不一致说明时间窗口聚合的COUNT函数逻辑可能存在问题,不符合文档中定义的COUNT函数行为规范。
内容的提问来源于stack exchange,提问作者Nooruddin Lakhani
相关产品推荐
相关产品推荐

