Clickhouse рассчитать среднее

У меня есть два поля, одно - метка времени, другое - сумма сети в байтах. Просто так:

timestamp      network_in_bytes
1551196802144   1
1551196802145   5 
1551196802147   18 
1551196802158   80

Я хочу посчитать (B> A)

avg_network_in_bytes=(network_in_bytes_B-network_in_bytes_A)/(timestamp_B-timestamp_A). 

Как мне получить avg_network_in_bytes?


person Bruce.Jin    schedule 06.03.2019    source источник


Ответы (1)


Ознакомьтесь с этой функцией runningDifference

Вы можете попробовать сделать что-то вроде этого:

select 
  timestamp,
  network_in_bytes,
  runningDifference(timestamp) as timestamp_diff,
  runningDifference(network_in_bytes) as bytes_diff,
  bytes_diff / timestamp_diff
from (
  select
    timestamp,
    network_in_bytes
  from table
  order by timestamp 
)
person Maxim    schedule 07.03.2019