Я выполняю следующий запрос SQL, чтобы выбрать продукт с наивысшей ценой в каждой категории продуктов в https://www.w3schools.com/sql/trysql.asp
SELECT p.ProductID, p.productName, p.Price, p.CategoryID, c.CategoryName
FROM [Categories] c
LEFT JOIN [Products] p
ON (c.CategoryID = p.CategoryID)
WHERE Price IN (SELECT Max(Price) FROM Products GROUP BY CategoryID)
ORDER BY p.CategoryID
Однако сгенерированный вывод дает 2 результата для некоторых категорий, таких как категории 3 и 4. Почему это происходит? и как я могу изменить код, чтобы получить только самый высокий результат для каждого? Кроме того, как получить самый низкий показатель для каждой категории?