在 Riak TS 中按分钟计数

Count by minute in Riak TS

我正在尝试通过 Riak TS 掌握最近添加的组。

我找不到按分钟对结果进行分组的方法,例如数数。我将在下面展示一个例子。

CREATE TABLE Results
(
   result      VARCHAR   NOT NULL,
   time        TIMESTAMP NOT NULL,
   PRIMARY KEY (
      (QUANTUM(time, 1, 'm')),
      time
   )
)

插入

INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:03:45Z');
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:04:45Z');
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:05:45Z'); 
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:05:46Z');

查询

select count(*) from FreightMinuteResult where time > '2017-12-07 12:01:00Z' and time < '2017-12-07 12:06:00Z' group by time;

结果是

+--------+--------------------+ |COUNT(*)| time | +--------+--------------------+ | 1 |2017-12-07T12:04:45Z| | 1 |2017-12-07T12:03:45Z| | 1 |2017-12-07T12:05:45Z| | 1 |2017-12-07T12:05:46Z| +--------+--------------------+

如何使用Riak TS统计每分钟出现的次数?

谢谢。

quantum用于在后端组织数据以简化查询操作,而group by使用指定字段的精确值。时间戳 2017-12-07T12:05:45Z2017-12-07T12:05:46Z 发生在同一分钟,因此将存储在磁盘上的相同位置,但它们仍存储为不同的第二分辨率时间戳值,将单独分组。

如果您希望能够按分钟分组,您需要在插入时四舍五入时间戳,或者修改您的 table 以包含可以分组的分钟字段。