Я хочу иметь оконную функцию для ранжирования месяца в соответствии с их значениями. Таким образом, в этом примере 2018-12 будет рангом 1, 2019-01 будет 2 и т. Д.
И я также хочу, чтобы счетчик ранга сбрасывался после перехода в новую когорту, в данном случае, в когорту 2, ранг должен начинаться с 1 снова, и шаблон будет аналогичен когорте 1
SELECT *,
rank() over (partition by cohort, month order by month asc)
FROM (
SELECT 1 as cohort, id, date_trunc('month',start_date) as month
FROM _analysis.terms
WHERE holiday=FALSE and id >= 125
UNION SELECT 2, id, date_trunc('month', start_date) FROM _analysis.terms
WHERE holiday=FALSE and id >= 126
ORDER BY cohort, id, month
)
ORDER BY cohort, id, month