PostgreSQL Generate Series, который отображает скользящий трейлинг 12 месяцев
Я пытаюсь создать серию Generate, которая отображает последние 12 месяцев на основе текущей даты. В настоящее время я просто отображаю текущий месяц 12 раз.
select date_trunc('month',current_date)::date as month
from generate_series(
date_trunc('month', current_date)::date - interval '11 months',current_date, '1 month')
Любая помощь будет принята с благодарностью.
1 ответ
Ваш выбор отменяет возвращенную серию. Таким образом, все, что вы получите, это 12 экземпляров (количество строк, возвращаемых из серии) date_trunc('month',current_date)::date
, который всегда текущий месяц, конечно.
Вы, вероятно, хотите это:
select *
from generate_series(
date_trunc('month', current_date)::date - interval '11 months',current_date, '1 month')
Или с псевдонимом:
select dMonths
from generate_series(
date_trunc('month', current_date)::date - interval '11 months',current_date, '1 month') dMonths