Ю
from preferred_lanes
group by user_id, origin, destination
Size: a a a
Ю
IU
IA
IA
PT
IA
PC
with
source (day, uid) as (
values
(1, 0),
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(1, 5),
(1, 6),
(1, 7),
(2, 2),
(2, 3),
(2, 7),
(2, 8),
(2, 9),
(2, 10),
(3, 0),
(3, 2),
(3, 3),
(3, 5),
(3, 10)
),
prepared_query as (
select s1.day, array_agg(distinct s1.uid order by s1.uid) day_users, coalesce(s2.users, array[]::int[]) as users
from source s1
inner join lateral (select s1.day, array_agg(distinct uid) as users from source where day < s1.day) s2 on s1.day = s2.day
group by s1.day, s2.day, s2.users
)
select day, sum(array_length((
SELECT array
(SELECT unnest(day_users)
EXCEPT SELECT unnest(users))
), 1)) over (order by day)
from prepared_query;
🌌[
🌌[
PC
PC
IA
So
MI
So
SM
YS
запрос1; запрос2; ...; запросN;, например. ;)SM
КН
YS