Показать лидера продаж среди товаров по каждому дню
Подскажите пожалуйста как можно вычислить лидера продаж среди товаров по каждому дню из следующих таблиц.

Как я понял задание, нужно получить таблицу с с лидерами на каждый день. Я использую обобщенное табличное выражение для суммирования конкретного товара, проданного за день.
WITH sum_quantity_by_days (id_tovar, sales_date, sum_quantity) AS (
SELECT [s].id_tovar, [s].sales_date, SUM(quantity_kg) AS quantity_kg
FROM [sales] AS [s]
GROUP BY [s].sales_date, [s].id_tovar)
Использую SQL Server Management Studio 18.7.
Далее я попробовал найти через группировку:
WITH sum_quantity_by_days (id_tovar, sales_date, sum_quantity) AS (
SELECT [s].id_tovar, [s].sales_date, SUM(quantity_kg) AS quantity_kg
FROM [sales] AS [s]
GROUP BY [s].sales_date, [s].id_tovar)SELECT [s_q_b_d].sales_date, MAX(sum_quantity) AS max_quantity
FROM [sum_quantity_by_days] AS [s_q_b_d]
GROUP BY [s_q_b_d].sales_date
Выводит то что нужно, но не полностью (отсутствуют названия продуктов):

Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
Попробуйте следующее решение.
SQL
-- DDL and sample data population, start
DECLARE @tovar TABLE (id_tovar INT PRIMARY KEY, tovar_name NVARCHAR(30));
INSERT INTO @tovar (id_tovar, tovar_name) VALUES
(1, N'сахар'),
(2, N'мука'),
(3, N'гречневая крупа');
DECLARE @sales TABLE (id_sales INT PRIMARY KEY, id_tovar INT, sales_date DATE, quantity_kg INT);
INSERT INTO @sales (id_sales,id_tovar, sales_date, quantity_kg) VALUES
(1, 1, '2011-01-01', 10),
(2, 2, '2011-01-02', 3),
(3, 1, '2011-01-02', 5),
(4, 3, '2011-01-02', 20),
(5, 1, '2011-01-03', 10),
(6, 2, '2011-01-02', 18);
-- DDL and sample data population, end
;WITH cte AS
(
SELECT id_tovar, sales_date, SUM(quantity_kg) AS quantity_kg
FROM @sales
GROUP BY id_tovar, sales_date
), rs AS
(
SELECT *
, ROW_NUMBER() OVER (PARTITION BY sales_date ORDER BY quantity_kg DESC) AS seq
FROM cte
)
SELECT rs.sales_date, t.tovar_name, rs.quantity_kg
FROM rs INNER JOIN
@tovar AS t ON t.id_tovar = rs.id_tovar
WHERE rs.seq = 1;
Результат
+------------+------------+-------------+
| sales_date | tovar_name | quantity_kg |
+------------+------------+-------------+
| 2011-01-01 | сахар | 10 |
| 2011-01-02 | мука | 21 |
| 2011-01-03 | сахар | 10 |
+------------+------------+-------------+
