Můžete použít generate_series()
abyste se vyhnuli spletité aritmetice CTE a data. Zde je příklad, jak začít:
select d, d + interval '6 days'
from generate_series('2016-01-01'::date, '2016-12-31'::date, '1 day'::interval) d
where date_trunc('week', d) = d
Chcete-li v roce 2017 cokoli odstranit, budete chtít přidat případ ve druhém volebním období a mohl by být přepsán na krok po týdnu, ale mělo by vás to dostat na správnou cestu.