Проверка дублей продаж по каналам за 12 месяцев
| Канал | Строк в дублях | Доля повторных строк | Групп дата канал артикул | Максимум копий в группе | Строк всего |
|---|---|---|---|---|---|
| Ozon | 0 | 0 % | 3 269 | 1 | 3 269 |
| Wildberries | 0 | 0 % | 3 565 | 1 | 3 565 |
| Сайт | 0 | 0 % | 3 742 | 1 | 3 742 |
| Яндекс Маркет | 0 | 0 % | 2 274 | 1 | 2 274 |
SQL, по которому посчитано
WITH s AS (
SELECT date, channel, sku
FROM sales
WHERE date >= (SELECT max(date) FROM sales) - INTERVAL 12 MONTH
),
g AS (
SELECT channel, date, sku, count(*) AS copies
FROM s
GROUP BY channel, date, sku
)
SELECT
channel,
count(*) AS key_groups,
sum(copies) AS rows_total,
coalesce(sum(copies) FILTER (WHERE copies > 1), 0) AS dup_rows,
max(copies) AS max_copies,
round(coalesce(sum(copies) FILTER (WHERE copies > 1), 0)::DOUBLE / sum(copies), 4) AS dup_share
FROM g
GROUP BY channel
ORDER BY dup_rows DESC, channel