Средний чек и медиана по категориям из CRM
SQL, по которому посчитано
WITH p AS (
SELECT date_trunc('month', max(date)) - INTERVAL 11 MONTH AS start_date,
max(date) AS end_date
FROM deals
),
d AS (
SELECT category, amount
FROM deals, p
WHERE status = 'Выиграна'
AND category IS NOT NULL
AND date >= p.start_date
AND date <= p.end_date
)
SELECT
category,
count(*) AS deals_count,
round(sum(amount), 0) AS revenue,
round(sum(amount) / nullif(count(*), 0), 0) AS avg_check,
round(median(amount), 0) AS median_check
FROM d
GROUP BY category
ORDER BY avg_check DESC
LIMIT 30