問題タブ [influxql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
influxdb - LAST を DISTINCT または GROUP BY と組み合わせますか?
次のような単純な時系列があります。
各個別の ID の最後のポイントの領域をカウントしたいので、結果は次のようになります。
ID 1 の最後のポイントはカナダなので、ID 1 の以前のポイントをすべて無視したいと思います。
個別の ID ごとに最新のポイントのみを照会するにはどうすればよいですか? これは可能ですか?
編集:これが私が扱っている実際のデータです。
area
そしてid
確かにタグです。で簡単select LAST(value)
にするとGROUP BY
、次のようになります。
これは正しい - 各一意のセッション ID の最後のポイントです。select * from
このクエリをサブクエリとして実行すると、結果は
COUNT(*) や SUM(value) などの集計を追加すると、期待どおりに数値 4 が表示されます。
しかし、このクエリに a を追加するGROUP BY area
と、旅行の値が 1、健康の値が 2、値が 1 であると主張することが期待されます。何らかの理由で、完全な元のデータ セットのように見えます。ポイントが使用され、サブクエリからのセットが削減されないため、次のようになります。
influxdb の仕組みをかなり誤解しているに違いないと思います。私は何が欠けていますか?
influxdb - 集計関数 sum() および count(Distinct()) が influxsql で結果を返すのに 1 分以上かかる
1 分以上で結果を返す 1 つの influxSQL クエリを実行しています。クエリ:
次のような個別のクエリ
また、結果が返されるまでに 1 分以上かかります。
while クエリ
3 ~ 4 秒などの秒単位で、非常に高速に結果を返します。
table(measurements) xyz が非常に大きいです。この where 条件に一致するレコードは 1,000 万件以上あります。call_duration と recipient_id はフィールドであり、target_id はタグです
MIN 関数と MAX 関数は非常に高速に結果を返しますが、SUM に時間がかかるのはなぜでしょうか?
InfluxDB バージョン: 1.7.4 マシン構成 - AWS EC2 - t2.medium (4 GB RAM)
構成ファイル:
結果は5〜6秒で返ってくるはずだと思います