пытаюсь рассчитать процентный темп роста за месяц

#sqlite

#sqlite

Вопрос:

У меня есть огромные данные из 5000 строк, и я пытаюсь найти темпы роста за месяц для каждого города за период с июня по август. Мои данные

 id | host_id | Host_since | area
1    121       2017-08-31   LA
2    243       2017-08-15   SF   
3    243       2017-06-12   SF 
4    100       2017-07-13   NYC
5    300       2017-05-19   CHI
6    250       2017-07-20   MIN
7    135       2017-08-25   LA
.
.
.
  

Меня не волнует дублирующийся host_id, единственное, что я хочу, это видеть общее количество идентификаторов, созданных за месяц.Итак, я исправил свой запрос, но он по-прежнему выдает ошибку рядом с «OVER». Не удалось выяснить, в чем проблема. Не знаю, что я делаю не так, поскольку запрос выглядит идеально для меня? Любая помощь была бы отличной.

 Select strftime('%Y-%m', host_since) as month, area, 
count(id) as count,
100 * (count(id) - lag(count(id), 1) over (partition by area, 
order by strftime('%Y-%m', host_since))) / lag(count(id), 1) over 
(partition by area, order by strftime('%Y-%m', host_since))) 
as growth
from listings
where host_since between '2017-06-01' and '2017-08-31'
group by 1,2
order by 1;
  

Ошибка SQLITE_ERROR: рядом с «over»: синтаксическая ошибка

Комментарии:

1. Должно ли это cast(id) быть count(id) ? Для cast() этого не хватает AS части.

2. обновлено. по-прежнему отображается ошибка около завершения.

3. Вы используете старую версию sqlite? С прошлой осени он получил оконные функции только в версии 3.25.

4. И date_trunc() предположительно, это какая-то определяемая пользователем функция?

5. @Shawn впервые использует sqllite. Также strftime (‘%m’, host_since) в качестве месяца работает в sqllite.