1
SQL
1. Задача: Для каждого пользователя посчитайте количество дней между первой и второй покупкой
order_id | user_id | event_date | revenue | lag nth_value(1) nth_value(2)
--------- | -------- | ----------- | ------------ |
1 | 1 | 2025-01-01 | 100 | null
2 | 1 | 2025-01-05 | 50 | 2025-01-01
3 | 2 | 2025-01-02 | 200 | nullОтвет
with cte as (
select user_id,
nth_value(event_date, 1) over (partition by user_id order by event_date asc) as first_buy,
nth_value(event_date, 2) over (partition by user_id order by event_date asc) as second_buy
from table
)
select user_id, datediff(second_buy - first_buy) as datediff
from cte
order by user_id asc;2. Задача:…