Re: recursive sql - Mailing list pgsql-sql

From Igor Andriychuk
Subject Re: recursive sql
Date
Msg-id 542D840A-878F-445F-9D3A-B093E14EA2A0@gmail.com
Whole thread Raw
In response to recursive sql  (ml@ft-c.de)
Responses Re: recursive sql  (Franz Timmer <ftimmer@ft-c.de>)
Re: recursive sql  (ml@ft-c.de)
List pgsql-sql
I copied over your typo :-), should be:

with recursive r as(              
select ts, c, row_id from rnk where rnk.row_id = 1
union 
select rnk.ts, rnk.c*0.33 + r.c*0.67, rnk.row_id
from
r
join
rnk
on
r.row_id = rnk.row_id - 1
),
rnk as(
select *, row_number() over(order by ts) row_id from tt
)
select ts, c from r order by ts;

On Aug 8, 2020, at 11:28 PM, ml@ft-c.de wrote:

Hello,

the table
create table tt (
 ts timestamp,
 c numeric) ;

insert into tt values
('2019-12-31',1), ('2020-01-01',2),
('2020-07-02',3), ('2020-07-06',4),
('2020-07-07',5), ('2020-07-08',6);

My question: It is possible to get an
 additional column (named c2)
 with
 ( c from current row ) + ( c2 from the previous row ) as c2

the result:
ts  c c2
..  1  1 -- or null in the first row
..  2  3
..  3  6
..  4 10
...

with recursive ema as ()
select ts, c,
 -- many many computed_rows
 -- <code> as c2
from tt  -- <- I need tt on this place


thank you for help
Franz



pgsql-sql by date:

Previous
From: Igor Andriychuk
Date:
Subject: Re: recursive sql
Next
From: Franz Timmer
Date:
Subject: Re: recursive sql