Как создать сумму предыдущего квартала с использованием Teradata SQL - PullRequest
0 голосов
/ 12 сентября 2018

Может кто-нибудь предложить на SQL для приведенного ниже ввода, я ищу для генерации суммы текущего квартала и предыдущего квартала подряд

Ввод

Fiscper Quarter_Amount  
2017Q1  7$

2017Q2  8$

2017Q3  5$

2017Q4  3$

2018Q1  10$

Выход

Output  Current Quarter Amount  Prior Quarter Amount    
2017Q1         7$   

2017Q2         8$                7$

2017Q3         5$                8$

2017Q4         3$                5$

2018Q1         10$               3$

1 Ответ

0 голосов
/ 12 сентября 2018

Вы хотите lag():

select t.*, lag(Quarter_Amount) over (order by Fiscper) as Prior_Quarter_Amount  
from table t;

Однако вы также можете использовать подзапрос:

select t.*, (select t1.Quarter_Amount
             from table t1
             where t1.Fiscper < t.Fiscper
             order by t1.Fiscper desc 
             limit 1
            ) as Prior_Quarter_Amount
from table t;
...