Агрегатная функция sum () возвращает неожиданный результат в притоке - PullRequest
0 голосов
/ 01 апреля 2019

Функция Sum () в infxdb возвращает неожиданные результаты из подзапроса

Подзапрос:

> select max(contador_total) - min(contador_total) as dif from _0_speed where time > now() - 30d group by cdv  

>name: _0_speed  
>tags: cdv=240AC415CD7C  
>time                dif  
>----                ---  
>1551532223396556745 11121  
>name: _0_speed  
>tags: cdv=240AC4166400  
>time                dif  
>----                ---  
>1551532223396556745 11190  

>name: _0_speed  
>tags: cdv=30AEA498FA10  
>time                dif  
>----                ---  
>1551532223396556745 33  
>name: _0_speed  
>tags: cdv=30AEA49B3188  
>time                dif  
>----                ---  
>1551532223396556745 5391859  

>name: _0_speed  
>tags: cdv=3C71BF1057DC  
>time                dif  
>----                ---  
>1551532223396556745 0  

окончательный запрос с агрегацией sum ():

>select sum(dif) from (select max(contador_total) - min(contador_total) as dif from _0_speed where time > now() - 30d group by cdv)

>name: _0_speed  
>time sum  
>----                ---  
>0    11121  

ожидаемый результат: (11121 + 11190 + 33 + 5391859 + 0 = 5414203)

, если я попытаюсь:

> select * from (select (max(contador_total) - min(contador_total)) as dif from _0_speed where time > now() - 30d group by cdv)  
>name: _0_speed  
>time                cdv          dif  
>----                ---          ---  
>1551531684580082568 240AC415CD7C 11121  
>1551531684580082568 30AEA498FA10   
>1551531684580082568 30AEA49B3188  
>1551531684580082568 30AEA498FA10  
>1551531684580082568 240AC4166400  
>1551531684580082568 3C71BF1057DC 0  
>1551531684580082568 240AC4166400  
>1551531684580082568 30AEA49B3188  

Я ценю любую помощь.

...