Clickhouse 按日期分组,在一个查询中使用类似火花线的数据

Clickhouse 按日期分组,在一个查询中使用类似火花线的数据,clickhouse,Clickhouse,我有来自类似主机的时间序列数据,这些数据存储在下一个结构中的ClickHouse表中: event_type | event_day ------------|--------------------- type_1 | 2017-11-09 20:11:28 type_1 | 2017-11-09 20:11:25 type_2 | 2017-11-09 20:11:23 type_2 | 2017-11-09 20:11:21 请指出我

我有来自类似主机的时间序列数据,这些数据存储在下一个结构中的ClickHouse表中:

event_type | event_day ------------|--------------------- type_1 | 2017-11-09 20:11:28 type_1 | 2017-11-09 20:11:25 type_2 | 2017-11-09 20:11:23 type_2 | 2017-11-09 20:11:21

请指出我的错误在哪里,如何得到期望?

< P>我会考虑在服务器端上计算脉冲,CH只提供所需的数据。 可用于:

选择 数字 [neighbornumber,-7,neighbornumber,-6,neighbornumber,-5,neighbornumber,-4,neighbornumber,-3,neighbornumber,-2,neighbornumber,-1]作为脉冲 从…起 选择号码 从10号到15号 按编号订购ASC ┌─数字─┬─脉搏──────────────────┐ │ 10│ [0,0,0,0,0,0,0] │ │ 11│ [0,0,0,0,0,0,10] │ │ 12│ [0,0,0,0,0,10,11] │ │ 13│ [0,0,0,0,10,11,12] │ │ 14│ [0,0,0,10,11,12,13] │ │ 15│ [0,0,10,11,12,13,14] │ │ 16│ [0,10,11,12,13,14,15] │ │ 17│ [10,11,12,13,14,15,16] │ │ 18│ [11,12,13,14,15,16,17] │ │ 19│ [12,13,14,15,16,17,18] │ │ 20│ [13,14,15,16,17,18,19] │ │ 21│ [14,15,16,17,18,19,20] │ │ 22│ [15,16,17,18,19,20,21] │ │ 23│ [16,17,18,19,20,21,22] │ │ 24│ [17,18,19,20,21,22,23] │ └────────┴────────────────────────┘

我会考虑在服务器端上计算脉冲,CH只提供所需的数据。< /P> 可用于:

选择 数字 [neighbornumber,-7,neighbornumber,-6,neighbornumber,-5,neighbornumber,-4,neighbornumber,-3,neighbornumber,-2,neighbornumber,-1]作为脉冲 从…起 选择号码 从10号到15号 按编号订购ASC ┌─数字─┬─脉搏──────────────────┐ │ 10│ [0,0,0,0,0,0,0] │ │ 11│ [0,0,0,0,0,0,10] │ │ 12│ [0,0,0,0,0,10,11] │ │ 13│ [0,0,0,0,10,11,12] │ │ 14│ [0,0,0,10,11,12,13] │ │ 15│ [0,0,10,11,12,13,14] │ │ 16│ [0,10,11,12,13,14,15] │ │ 17│ [10,11,12,13,14,15,16] │ │ 18│ [11,12,13,14,15,16,17] │ │ 19│ [12,13,14,15,16,17,18] │ │ 20│ [13,14,15,16,17,18,19] │ │ 21│ [14,15,16,17,18,19,20] │ │ 22│ [15,16,17,18,19,20,21] │ │ 23│ [16,17,18,19,20,21,22] │ │ 24│ [17,18,19,20,21,22,23] │ └────────┴────────────────────────┘
非常感谢你!非常感谢你! event_type | day | total | pulse ------------|------------|-------|----------------------------- type_1 | 2017-11-09 | 876 | 12,9,23,67,5,34,10 type_2 | 2017-11-09 | 11865 | 267,120,234,425,102,230,150
with
    arrayMap(x -> today() - 7 + x, range(7)) as week_range,
    arrayMap(x -> count(event_type), week_range) as pulse
select
    event_type,
    toDate(event_date) as day,
    count() as total,
    pulse
from database.table
group by day, event_type
event_type | day | total | pulse ------------|------------|-------|------------------------------------------- type_1 | 2017-11-09 | 876 | 876,876,876,876,876,876,876 type_2 | 2017-11-09 | 11865 | 11865,11865,11865,11865,11865,11865,11865
select event_type, groupArray(1)(day)[1], arraySum(pulse) total7, groupArray(7)(cnt) pulse
from (
    select
      event_type,
      toDate(event_date) as day,
      count() as cnt
    from database.table
    where day >= today()-30
    group by event_type,day
    order by event_type,day desc 
)
group by event_type 
order by event_type