私は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;
結果はRiakにを使用して、1分間あたりの発生回数をカウントする方法
+--------+--------------------+ |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| +--------+--------------------+
ですTS?
ありがとうございました。グループが指定されたフィールドの正確な値を使用しながら
ありがとう、ジョー!私はドキュメントがこの機能に関して誤解を招くと思います。たとえば、「GROUP BYは、一定期間に渡ってデバイスの属性を集計する場合に便利です(たとえば、過去24時間に30分ごとに平均値を取得できます)。あなたの応答からは、30分ごとに表示するフィールドを作成しなければならないことを意味します。後で、15分ごとにグループ化して別のフィールドを作成する場合は、それは厄介です。 –
リカルドは、私はあなたの混乱を理解し、あなたが上でグループ化されているフィールドが同じ値を保持しなければならないという点で、TSでGROUP BYは、標準的なRDBMS年代にGROUP BYと同じように動作することに注意することが重要です。あなたの例のタイムスタンプは一意の '時刻'の値とそれぞれ一致しないので、結果セットに独自の行が作成されます。 – Craig
こんにちはクレイグ!コメントありがとう!私はポイントを持っていますが、IMOは時系列DBとして、Riak TSはネイティブな方法で時間操作を処理できます。それがロードマップにあることを願っています。次を参照してください: https://kairosdb.github.io/docs/build/html/restapi/TimeGrouping.html https://docs.influxdata.com/influxdb/v1.1/query_language/data_exploration/#group-by-時間間隔 –