Сделки с отрицательной суммой по менеджерам
| Менеджер | Всего сделок | Сделок с минусом | Доля минусов | Сумма минусов, ₽ |
|---|---|---|---|---|
| Игорь | 902 | 0 | 0 % | 0 ₽ |
| Олег | 829 | 0 | 0 % | 0 ₽ |
| Мария | 782 | 0 | 0 % | 0 ₽ |
| Анна | 848 | 0 | 0 % | 0 ₽ |
SQL, по которому посчитано
WITH bounds AS (
SELECT date_trunc('month', max(date)) AS month_start
FROM deals
)
SELECT
manager,
count(*) FILTER (WHERE amount < 0) AS negative_deals,
count(*) AS total_deals,
round(count(*) FILTER (WHERE amount < 0)::DOUBLE / count(*), 4) AS negative_share,
round(sum(CASE WHEN amount < 0 THEN amount ELSE 0 END), 2) AS negative_amount
FROM deals
WHERE date >= (SELECT month_start - INTERVAL 11 MONTH FROM bounds)
GROUP BY manager
ORDER BY negative_deals DESC, negative_amount ASC
LIMIT 30