dt Date,
demand_id UInt64,
demand_uid String,,
demand_name String,
group_id UInt64,
group_uid String,,
group_name String,
campaign_id UInt64,
campaign_uid String,
campaign_name String,
...........
PRIMARY KEY (demand_id, dt)
ORDER BY (demand_id, dt, demand_uid, demand_name, group_id, group_uid, group_name, campaign_id, campaign_uid,campaign_name)
Соотв про слиянии надо чтоб группировала.
Нет ли смысла пропускать в ордер все что не id, т.е. делать ORDER BY (demand_id, dt, group_id, campaign_id)
При слиянии скажем каждому demand_id однозначно соответсуют demand_uid, demand_name.
Ну и остальные также
Или все фигня и проще все перечислить и не париться?
Как принято?
я бы все имена вытащил из ключа сортировки-группиповки и агрегировал функцией anyLast(), этакий SCD Type 1 потому что мы-то знаем, что там соответствие между id и name 1to1, а движок нет, и будет эти имена сравнивать. и чего зря воздух греть. + если вдруг прилетит новое имя, уникальность группировки по id в этом случае не сломается
а я так из доке понял что он собсно сам any делает
возможно, но лично мне по опыту тут больше anyLast() нравится :) новые имена для id всегда прилетают неожиданно, и чаще всего нужно новое имя и использовать в репортинге
Обсуждают сегодня