не последнее значение?
drop table if exists tanylast;
create table tanylast
(
t Float64,
v1 Nullable(Float64),
v2 Nullable(Float64)
) engine = MergeTree order by (t);
drop table if exists tanylast_mv;
create materialized view tanylast_mv ENGINE = AggregatingMergeTree ORDER BY (t)
as
select t,
anyLastState(v1) v1_last_state,
anyLastState(v2) v2_last_state
from tanylast
group by t;
insert into tanylast values (0,0,0);
insert into tanylast values (0,0,1);
insert into tanylast values (0,0,2);
insert into tanylast values (0,1,3);
select t,
anyLastMerge(v1_last_state) v1,
anyLastMerge(v2_last_state) v2
from tanylast_mv
group by t;
Ожидаю получить 0,1,3, но получаю 0,0,0.
А если ещё запихнуть пару строчек
insert into tanylast values (1, 0, 3);
insert into tanylast values (1, 1, 4);
select t,
anyLastMerge(v1_last_state) v1,
anyLastMerge(v2_last_state) v2
from tanylast_mv
group by t;
То все отдает как надо
0,1,3
1,1,4
Разве из мат. вьюхи я не могу сразу после вставки получать актуальные значения? Или это особенность anyLast?
https://gist.github.com/den-crane/d03524eadbbce0bafa528101afa8f794 https://gist.github.com/den-crane/49ce2ae3a688651b9c2dd85ee592cb15
Обсуждают сегодня