我在Northwind示例数据库上进行培训并完成了任务:
“创建返回的查询:CompanyName
,OrderID
,SaleAmount
(该订单的价值),该订单的百分比值,客户订单的总价值。
我做到了,一切正常,但现在我想添加其他东西: 我想添加一个字段,该字段将显示个别订单的百分比份额,并将其与所有订单的总价值相对应 - Sum(SaleAmount)
我做了类似的事情:
SELECT
CompanyName,
OrderID,
SaleAmount,
CAST(100 * SaleAmount / SUM(SaleAmount) OVER (PARTITION BY CompanyName) AS decimal(5, 2)) AS 'Percent',
SUM(SaleAmount) OVER (PARTITION BY CompanyName) AS Total,
(SELECT
SUM(SaleAmount) AS Całość_Zamówienia
FROM dbo.[Sales Totals by Amount])
AS Suma_całkowita,
CAST(100 * SaleAmount / SUM(SaleAmount) OVER (PARTITION BY CompanyName) AS decimal(11, 2)) AS 'TEST'
FROM dbo.[Sales Totals by Amount]
GROUP BY CompanyName,
OrderID,
SaleAmount
但它显示了愚蠢的事情,你能帮帮我吗? :)
答案 0 :(得分:0)
试试这个:
SELECT CompanyName, OrderID, SaleAmount,
CAST(100 * SaleAmount / SUM(SaleAmount) OVER(PARTITION BY CompanyName) as decimal(5,2)) as 'Percent',
SUM(SaleAmount) OVER(PARTITION BY CompanyName) as Total,
(SELECT Sum(SaleAmount) as Całość_Zamówienia FROM dbo.[Sales Totals by Amount]) as Suma_całkowita
,CAST(100 * SUM(SaleAmount) OVER(PARTITION BY CompanyName)/ (select sum(SaleAmount) from dbo.[Sales Totals by Amount]) as decimal(11,2)) as 'TEST'
FROM dbo.[Sales Totals by Amount]
GROUP BY CompanyName, OrderID, SaleAmount