2017-09-05 17 views
0

私は次の問題があります: 任意のIDが等しい任意の連続ポイント間の差を計算する必要があります。次非集計フィールド/値とのInfluxDB混合集計関数

SELECT difference(value_field) FROM mesurementName WHERE "IdField" = '10'

製作所、(のみtimeは結果を照会するために伝播される)IdFieldで連続する各点との差を返しますが、IdFieldは失われます。私の場合、timeはユニークではありません(つまり、測定には同じtimestampの多数の点が含まれていますが、異なるIdField)。だから私は試してみました:

SELECT difference(value_field), IdField FROM mesurementName WHERE "IdField" = '10'

得た: error parsing query: mixing aggregate and non-aggregate queries is not supported!!

私の次の試みは、サブクエリを使用していました:IdFieldで常にnull値になった

SELECT IdField, diff 
FROM (
    SELECT 
     difference(flow_val) as diff 
    FROM 
     mesurementA 
    WHERE "IdField" = '10' 
) 

私は、問題を解決するための助けや提案をお願いしたいと思います。ところで、私たちは私があったように、誰が立ち往生したい場合はもう

答えて

0

JOINをサポートしていませんInfluxDB 1.3を使用している場合、解決策は以下の通りです:

SELECT difference(value_field) FROM mesurementName GROUP BY "IdField" 

以上が何らかの形で暗黙のうちに「IdField」を追加シリーズをもたらすためにINTO

を使用して結果の測定に伝搬されます