我試圖根據銷售總額找到前5名銷售人員。我想顯示代表的名字,以及他們的總銷售額,並且我在AdventureWorks工作。前5名銷售人員總銷售額
不斷拋棄我的是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
實際問題是什麼?這有幫助嗎? http://stackoverflow.com/questions/2404565/sql-server-difference-between-partition-by-and-group-by – RandomUs1r 2013-03-18 22:28:27
歡迎來到堆棧溢出!如果可能,發佈問題時,請記住顯示您的預期結果以及您收到的結果。 – 2013-03-18 23:55:06