У меня есть 2 соответствующих столбца, имя и дата.Я заинтересован в создании новых столбцов, которые отслеживают, сколько раз было записано имя за последнюю неделю, в прошлом месяце и в прошлом году.
Я делаю это неуклюже, создавая новую таблицу для каждого разапериод, например:
create table past_week as
select name, date, count(*) as past_week
from original_table
where date between date - interval '7 days' and date
group by name, date
order by date
Затем я объединяю эту таблицу с моей исходной таблицей:
select *
from original_table o
left join past_week pw on o.name = p.name and o.date = pw.date
Есть ли лучший способ сделать это без создания новых таблиц или соединения с исходной таблицей с помощьюсам?Спасибо!