我想找到每個員工與大多數收入的產品並列銷售的最頻繁的產品。我寫了一些例子,以便更清楚。選擇最頻繁的值與總和
DECLARE @Products TABLE(ID INT, ProductName NVARCHAR(50), Price DECIMAL)
DECLARE @Employees TABLE(ID INT, EmployeeName NVARCHAR(50))
DECLARE @Sales TABLE(ID INT, EmployeeID INT, ProductID INT, Quantity INT)
INSERT INTO @Products VALUES
(1, N'Product1', 300),
(2, N'Product2', 500),
(3, N'Product3', 700),
(4, N'Product4', 800)
INSERT INTO @Employees VALUES
(1, N'Employee1'),
(2, N'Employee2'),
(3, N'Employee3')
INSERT INTO @Sales VALUES
(1,1,2,3),
(2,1,3,4),
(3,1,2,5),
(4,2,2,7),
(5,2,4,3),
(6,3,2,3),
(7,3,2,9),
(8,3,4,8)
連接表看起來喜歡這樣的:
我寫了一些選擇
SELECT
e.EmployeeName
,p.ProductName
,SUM(s.Quantity) AS Quantity
,p.ProductName
,SUM(s.Quantity * p.Price) AS Price
FROM @Products p
INNER JOIN @Sales s ON s.ProductID = p.ID
INNER JOIN @Employees e ON s.EmployeeID = e.ID
GROUP BY e.EmployeeName, p.ProductName
ORDER BY SUM(s.Quantity) DESC, SUM(s.Quantity * p.Price)
我想寫這個格式的選擇,單獨爲每個僱員訂購產品名稱和總量,產品名稱和價格總和。
預期的輸出應該
EmployeeName ProductName Quantity ProductName Price
------------ ----------- -------- ----------- ------
Employee3 Product2 12 Product4 6400
Employee1 Product2 8 Product2 4000
Employee3 Product4 8 Product2 6000
Employee2 Product2 7 Product2 3500
Employee1 Product3 4 Product3 2800
Employee2 Product4 3 Product4 2400
我相信,數量和價格進行排序根據您的選擇聲明。首先按數量遞減,然後按價格遞增排序。 – NickyvV
請發佈預期的輸出以及 – Susang
@NickyvV是的但價格不是訂購升序 – www1986