在 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:45Z
和 2017-12-07T12:05:46Z
发生在同一分钟,因此将存储在磁盘上的相同位置,但它们仍存储为不同的第二分辨率时间戳值,将单独分组。
如果您希望能够按分钟分组,您需要在插入时四舍五入时间戳,或者修改您的 table 以包含可以分组的分钟字段。
我正在尝试通过 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:45Z
和 2017-12-07T12:05:46Z
发生在同一分钟,因此将存储在磁盘上的相同位置,但它们仍存储为不同的第二分辨率时间戳值,将单独分组。
如果您希望能够按分钟分组,您需要在插入时四舍五入时间戳,或者修改您的 table 以包含可以分组的分钟字段。