総売上高に基づいて上位5人の営業担当者を見つけようとしています。担当者の名前と総売上高を表示したいので、AdventureWorksで働いています。
私を失望させ続けるのはGROUP BY
声明です。以下のクエリでは、が機能しない理由がわかりませんGROUP BY
。これを行うにはもっと効率的な方法があると確信していますが、現時点では、結合とサブクエリを実際に学習しようとしているだけであり、GROUP BY
動作の仕方は私には理解できていないようです。
SELECT SalesLT.Customer.SalesPerson, SUM(repjoin.TotalDue) OVER (PARTITION BY repjoin.salesperson)
FROM SalesLT.customer INNER JOIN
(SELECT SalesLT.SalesOrderHeader.CustomerID,
SalesLT.SalesOrderHeader.TotalDue,
SalesLT.Customer.SalesPerson
FROM SalesLT.Customer
INNER JOIN SalesLT.SalesOrderHeader
ON SalesLT.SalesOrderHeader.CustomerID = SalesLT.Customer.CustomerID
) repjoin
ON SalesLT.Customer.CustomerID = repjoin.CustomerID
GROUP BY SalesLT.Customer.SalesPerson