Files
homework/aysat/lifecoding/SQL1.sql
T

38 lines
924 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 monthly_users as (
select count(distinct(user_id)) as active_users,
date_trunc('month', date) as month
from abakhytbekuly.users
group by date_trunc('month', date)
),
change as (
select active_users,
month,
lag(active_users) over(order by month) as prev_mau
from monthly_users
)
select active_users,
month,
prev_mau,
100.0 * (active_users - prev_mau) / prev_mau as pct_change -- тут результат странный типа '-66.666666'
from change
where prev_mau is not null
order by month