· 5 years ago · Feb 22, 2020, 04:04 AM
1create table if not exists vuln(id serial, discovered_on timestamptz, patched_by timestamptz, message text, source_id bigint);
2
3insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '1 month'::interval, null, '1', 1);
4insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '1 month'::interval, null, '2', 1000);
5insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '3 month'::interval, now() - '2 month'::interval, '3', 1000);
6insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '2 month'::interval, null, '1', 1);
7insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '3 month'::interval, null, '1', 1);
8insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '4 month'::interval, null, '1', 1);
9insert into vuln(discovered_on, patched_by, message, source_id) values(now() - '5 month'::interval, null, '1', 1);
10
11
12
13select message,
14 source_id,
15 generate_series(date_trunc('month', discovered_on), least(date_trunc('month', discovered_on), now()), '1 month'::interval)
16
17from vuln
18where source_id >= 1000;