PC
Size: a a a
PC
DC
DC
PC
DC
НЧ
НЧ
НЧ
DC
НЧ
DC
PC
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Задача стоит, что бы в массиве events представления всегда лежали только последние события сгруппированые по полю event из таблицы, и отсортированные по datetime.
ENGINE = AggregatingMergeTree()
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;
pk
PC
PC
(1,'2020-09-20 00:00:01')
.PC
PC
pk
PC
max((datetime,event))
я что - то совсем не понялpk