从 PipelineDB 中的 AVG 聚合中提取计数器

Extracting the counter from the AVG aggregate in PipelineDB

我有这个连续的观点:

=# CREATE CONTINUOUS VIEW v AS
SELECT id::int, count(v::int) AS counter, avg(v) AS average
FROM mystream
GROUP BY id;

所以我需要平均值,以及用于计算该平均值的元素数量 (counter)。有没有办法从 AVG 数据结构中提取这个计数,这样我就不必创建 counter 字段?

=# TABLE v_mrel0;
 id | counter | average
----+---------+---------
  1 |    2    | {2,30}

很遗憾,没有。过渡状态的内部是私有的。在 avg(integer) 的情况下,它是一个双元素数组,因此您可能会读取数组的第一个元素,但这不适用于过渡状态为 a 的其他数据类型的 avg字节数组,没有与之交互的机制。

是否有单独的 count 聚合不适合您的原因?