Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE entity_events
- (
- `datetime` DateTime,
- `event` UInt8,
- `entity1` String,
- `entity2` String,
- `entity3` String
- )
- ENGINE = MergeTree()
- ORDER BY datetime;
- CREATE MATERIALIZED VIEW user_trace_pool
- ENGINE = AggregatingMergeTree
- PARTITION BY tuple()
- ORDER BY id POPULATE AS
- SELECT
- cityHash64(entity1, entity2, entity3) AS id,
- groupArrayState((event, datetime)) AS events
- FROM
- (
- SELECT
- any(datetime) AS datetime,
- event,
- entity1,
- entity2,
- entity3
- FROM entity_events
- GROUP BY (event, entity1, entity2, entity3)
- )
- GROUP BY id;
- insert into entity_events values ('2020-09-20 00:00:00', 1, 'a', 'a', 'a');
- insert into entity_events values ('2020-09-20 00:00:01', 1, 'a', 'a', 'a');
- SELECT
- id,
- groupArrayMerge(events) AS e
- FROM user_trace_pool
- GROUP BY id;
- ┌───────────────────id─┬─e─────────────────────────────────────────────────────┐
- │ 11022927171530759889 │ [(1,'2020-09-20 00:00:01'),(1,'2020-09-20 00:00:00')] │
- └──────────────────────┴───────────────────────────────────────────────────────┘
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement