Ну, я борюсь с этим вопросом в SQL, используя MySql:
Я должен указать продукт, который в основном был продан на одного поставщика из популярной базы данных с открытым исходным кодом под названием NORTHWIND: https://northwinddatabase.codeplex.com
Теперь то, что я написал:
SELECT products.SupplierID ,`order details`.ProductID, count(*) as NumSales FROM `order details`
JOIN products ON `order details`.ProductID = products.ProductID
JOIN orders ON `order details`.OrderID = orders.OrderID
WHERE `order details`.OrderID
IN
(SELECT OrderID FROM orders
WHERE MONTH(OrderDate) = 7 AND YEAR(orderDate) = 1997)
group by products.SupplierID , `order details`.ProductID
ORDER BY NumSales desc
;
Результат:
что все это хорошо, но мне нужно вернуть, например, для Поставщика 1 Продукт 1, так как он был продан 3 раза (7/1997)
Дополнение к началу:
SELECT SupplierID, ProductID, MAX(b.NumSales)
FROM( ... )
сближает меня, но дает мне лучший из всех поставщиков, а не для каждого поставщика.
Помощь будет велика.
P.S. Этот вопрос похож, но тот же и полностью мне не помог.