SELECT
Name, OrderQty, SalesOrderID
FROM
Production.Product p INNER JOIN Sales.SalesOrderDetail od1
ON
od1.ProductID=p.ProductID
WHERE
OrderQty = (SELECT Max(OrderQty)
FROM
Sales.SalesOrderDetail od2
WHERE
od1.ProductID=od2.ProductID)
Задание 5.
Определить количество различных товаров
в каждом заказе.
Необходимо
сгруппировать записи с одинаковым
идентификационным номером заказа
SalesOrderID
и подсчитать количество записей в
каждой группе по полю ProductID.
Для этого
можно использовать следующий запрос:
SELECT
SalesOrderID, count(ProductID) AS [Количество]
FROM
Sales.SalesOrderDetail
GROUP BY SalesOrderID
Если для каждого
заказа еще необходимо подсчитать и
общее количество товаров в заказе, то
запрос должен быть дополнен:
SELECT
SalesOrderID,
count(ProductID)
AS [Количество],
sum(OrderQty)
as
[Общее количество]
FROM
Sales.SalesOrderDetail
GROUP BY SalesOrderID
Вывод:
Я научился использовать агрегатные
функции и раздел GROUP BY оператора SELECT
для аналитической выборки данных.