Предложение SQL OVER () - когда и почему оно полезно?

    USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, ProductID, OrderQty
    ,SUM(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Total'
    ,AVG(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Avg'
    ,COUNT(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Count'
    ,MIN(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Min'
    ,MAX(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Max'
FROM Sales.SalesOrderDetail 
WHERE SalesOrderID IN(43659,43664);

Я читал об этом пункте и не понимаю, зачем мне это нужно. Что делает функция Over ? Что делает Разделение на ? Почему я не могу сделать запрос с записью Group By SalesOrderID ?

163
задан MER 29 October 2019 в 22:01
поделиться