Tenho uma tabela que está estruturada da seguinte forma: fiddle
create table test(id,status,datechange)as values
('011AVN', 11, '2024-06-21 08:27:13'::timestamp)
,('011AVN', 12, '2024-06-21 08:28:16')
,('011AVN', 21, '2024-07-04 15:01:21')
,('011AVN', 22, '2024-07-07 20:30:30')
,('011AVN', 31, '2024-07-11 17:38:01')
,('011AVN', 32, '2024-07-12 20:30:15')
,('011AVN', 33, '2024-07-31 20:58:54')
,('011AVN', 22, '2024-10-16 16:13:33')
,('011AVN', 22, '2024-12-02 18:03:19')
,('011AVN', 31, '2024-12-10 21:53:04')
,('011AVN', 32, '2024-12-11 22:04:26')
,('011AVN', 33, '2025-01-03 10:51:54');
Preciso saber qual era o status no primeiro dia de cada mês. Por exemplo:
- em
2024-07-01
, o status era12
, - sobre
2024-08-01
o status era33
Tenho tentado uni-lo a uma série gerada desta forma:
select generate_series('2024-07-01', now(), interval '1 month') as s;
Mas estou um pouco preso.