A cláusula SQL OVER () - quando e por que é úti

    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);

Li sobre essa cláusula e não entendo por que preciso dela. O que a funçãoOver Faz? O quePartitioning By Faz? Por que não consigo fazer uma consulta escrevendoGroup By SalesOrderID?

questionAnswers(7)

yourAnswerToTheQuestion