37 lines
762 B
SQL
37 lines
762 B
SQL
'''
|
|
Задача 1.
|
|
|
|
Таблица users
|
|
|
|
| user_id | date |
|
|
| --- | --- |
|
|
| 1 | 2018-07-01 |
|
|
| 234 | 2018-07-02 |
|
|
| 3 | 2018-07-02 |
|
|
| 1 | 2018-07-02 |
|
|
| ... | ... |
|
|
| 234 | 2018-10-04 |
|
|
|
|
Нужно найти ежемесячное процентное изменение месячной аудитории активных пользователей.
|
|
'''
|
|
|
|
with cte1 as (
|
|
select count(distinct(user_id)) as mau,
|
|
date_trunc('month', date) as month
|
|
from abakhytbekuly.users
|
|
group by date_trunc('month', date)
|
|
),
|
|
cte2 as (
|
|
select mau,
|
|
month,
|
|
lag(mau) over(order by month) as prev_mau
|
|
from cte1
|
|
)
|
|
select mau,
|
|
month,
|
|
prev_mau,
|
|
100.0 * (mau - prev_mau) / prev_mau as pct_change
|
|
from cte2
|
|
order by month
|
|
|