26

クエリの結果の最後の値 (または n 番目の値) のみをクエリすることはできますか?

たとえば、クエリでは次のようになります。

SELECT value FROM response_times WHERE time > now() - 1h limit 1000;

最後の値のみ、つまりもっと前の値 (おそらく 1000 番目の要素) のみを取得することは可能ですか?

もちろん、それらをすべて取得して最後のものにスキップすることもできますが、この方法で帯域幅を無駄にしたくありません。

4

7 に答える 7

20
SELECT last(value) FROM response_times WHERE time > now() - 1h;

これにより、列の最後の値が返されます。

ただし、必要に応じて、シーケンスをより小さな断片に分割し、最後の値を選択できます。例えば:

 SELECT last(value) FROM response_times WHERE time > now() - 1h GROUP BY time(60s);

シーケンスを 60 秒のフラグメントに分割し、フラグメントごとに最新の値を取得します。

于 2015-04-23T16:23:20.953 に答える
7

API では、first/last を参照して、列の最初または最後のレコードを選択します。複数のレコードを選択するためのトップ/ボトムもあります

[編集] トップ/ボトムは時間枠の最高値/最低値を返すようです

于 2015-04-09T08:17:28.590 に答える