Это уровень чуть выше базы dbase (1986), я не знаю, почему для его завершения потребовалось более 25 лет.

    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 делать? Что значитPartitioning By делать? Почему я не могу сделать запрос с написаниемGroup By SalesOrderID?

Ответы на вопрос(7)

Ваш ответ на вопрос