Подзапрос InfluxDB и предложение where - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь использовать оператор where в наборе результатов, думаю, он должен работать (согласно веб-сайту InfluxDB ), однако это не так. Запрос выглядит так:

SELECT (cumulative_sum(mean("ap"))/1000*24 - cumulative_sum(mean("ep"))/1000*24) as "cs", mean("gs") as "mgs" FROM (SELECT "ExpectedAverage EP" as "ep" FROM /^$EquipmentName$/ WHERE ("ModelName" =~ /^$ModelName$/) and $timeFilter), (SELECT "Field GS" as "gs", "Field AP" as "ap" FROM /^$EquipmentName$/ where $timeFilter) GROUP BY time(1d) fill(null)

, который работает и возвращает два набора результатов вместе со временем, "cs" и "mgs".

Изменение запроса с помощьюдобавив выражение where ;

WHERE "mgs" >= 0 GROUP BY time(1d) fill(null)

Таким образом, полный запрос выглядит так:

SELECT (cumulative_sum(mean("ap"))/1000*24 - cumulative_sum(mean("ep"))/1000*24) as "cs", mean("gs") as "mgs" FROM (SELECT "ExpectedAverage EP" as "ep" FROM /^$EquipmentName$/ WHERE ("ModelName" =~ /^$ModelName$/) and $timeFilter), (SELECT "Field GS" as "gs", "Field AP" as "ap" FROM /^$EquipmentName$/ where $timeFilter) WHERE "mgs" >= 0 GROUP BY time(1d) fill(null)

Ничего не приноситназад, но без ошибок ( мгс всегда больше или равно 0 ). Изменение предложения where на 1> 0 работает и возвращает наборы результатов, как и ожидалось. Разделение подзапроса на три предложения также не работает.

Любая помощь приветствуется!

(Конечная цель - иметь возможность запрашивать, где "mgs"> 0)

...