Строки с минусом по категориям товаров
SQL, по которому посчитано
WITH base AS (
SELECT category, revenue, units, cost_of_goods, returned_units, returned_revenue
FROM sales
WHERE date >= (SELECT date_trunc('month', max(date)) FROM sales) - INTERVAL 11 MONTH
)
SELECT
category,
count(*) AS rows_checked,
count(*) FILTER (WHERE revenue < 0) AS neg_revenue_rows,
count(*) FILTER (WHERE units < 0) AS neg_units_rows,
count(*) FILTER (WHERE cost_of_goods < 0) AS neg_cost_rows,
count(*) FILTER (WHERE returned_units < 0 OR returned_revenue < 0) AS neg_return_rows,
round(min(revenue), 2) AS min_revenue
FROM base
GROUP BY category
ORDER BY neg_revenue_rows DESC, neg_units_rows DESC, category
LIMIT 30