Можно ли ограничит вычисления периодом в pl sql?

select period, data, login,
  sum(sum_value) 
    over (partition by login order by data rows between unbounded preceding and current row) as sum_value,
 sum(count_value) 
  over (partition by login order by data rows between unbounded preceding and current row) as count_value
from (
    select c.period, c.data, c.login,
        coalesce(sum_value, 0) as sum_value,
        coalesce(count_value, 0) as count_value
    from  acsi_all_segment c )

Этот скрипт считается накопительный результат по неопределенному значению (сумму и количество).
Можно как-то ограничить расчет периодом?
То есть, чтобы с нового периода результат обнулялся и считался заново. Что-то вроде цикла нужно.
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
select 
  date_trunc('month', data), 
  login, 
  value, 
  sum (value) over (
	partition by login,  date_trunc('month', data)
	order by data rows between unbounded preceding and current row
  ) as lag_value 
from 
  t1;


SQL online editor
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы