да, можно сделать mv, но я не понимаю как и какой от нее смысл. Если все равно там будет та же куча данных и нужно будет делать лимиты такие же. Может, что-то типа реплейсинг можно
create table tab1(event_id UInt8, user_id UInt8, status String, ver Datetime default now()) engine=ReplacingMergeTree
partition by (ver) order by event_id;
create materialized view mv1 to tab1
as select event_id, user_id, status from event where status=‘success’ order by event_id limit 1 by user;
Как пример, может быть вам такое подойдет.