Средний чек и медиана по менеджерам за последние 12 месяцев
SQL, по которому посчитано
WITH period AS (
SELECT date_trunc('month', max(date))::DATE AS start_month
FROM deals
)
SELECT
d.manager,
count(*) AS deals_count,
round(sum(d.amount), 0) AS revenue,
round(avg(d.amount), 0) AS avg_check,
round(median(d.amount), 0) AS median_check
FROM deals AS d
CROSS JOIN period AS p
WHERE d.status = 'Выиграна'
AND d.date >= (p.start_month - INTERVAL '11 months')::DATE
GROUP BY d.manager
ORDER BY avg_check DESC
LIMIT 30