SQL:获取百分比

SQL:获取百分比,sql,sql-server-2008,tsql,sql-server-2012,Sql,Sql Server 2008,Tsql,Sql Server 2012,我试图得到总销售价格的百分比,但我一直得到100%。请帮忙 我想您需要窗口功能。我还将显式使用非整数——以防万一(SQL Server对整数进行整数除法,因此1/2=0而不是0.5): 注意SUM(SUM())和OVER()。这些值取所有行的值之和。sum(sum(pc.sale\u price))over()使用窗口聚合对聚合总和进行求和: SUM(pc.sale_price) * 100.0 / SUM(SUM(pc.sale_price) OVER () AS [Percentage of

我试图得到总销售价格的百分比,但我一直得到100%。请帮忙


我想您需要窗口功能。我还将显式使用非整数——以防万一(SQL Server对整数进行整数除法,因此1/2=0而不是0.5):

注意
SUM(SUM())
OVER()
。这些值取所有行的值之和。

sum(sum(pc.sale\u price))over()
使用窗口聚合对聚合总和进行求和:

SUM(pc.sale_price) * 100.0 / SUM(SUM(pc.sale_price) OVER () AS [Percentage of Total Sales Price],
SUM(pc.advanced_seller_proceeds) * 100.0 / SUM(SUM(pc.advanced_seller_proceeds)) OVER () AS [Percentage of Total Net Proceeds],

你在除以同样的东西。你显然会得到100%。我没有足够的声誉来发布我们为你编辑的链接。请阅读一些关于改进你的问题的提示。尽管如此,我仍然得到100%,维尔德。应仅为1行,其中包含total@csowner17:哦,当然了,结果集中只有一行,您可能需要一个
分组依据
。不过我希望它只有一行。@csowner17:好的,那么您想要多少百分比?那些
其中pc.res_id=201
与所有行进行了比较?@csowner17:请编辑您的问题,显示您的预期结果,并解释其计算方法。它仍然为我提供100%的信息。
SUM(pc.sale_price) * 100.0 / SUM(SUM(pc.sale_price) OVER () AS [Percentage of Total Sales Price],
SUM(pc.advanced_seller_proceeds) * 100.0 / SUM(SUM(pc.advanced_seller_proceeds)) OVER () AS [Percentage of Total Net Proceeds],
SUM(pc.sale_price) * 100 / SUM(SUM(pc.sale_price)) OVER () AS [Percentage of Total Sales Price],
SUM(pc.advanced_seller_proceeds) * 100 / SUM(SUM(pc.advanced_seller_proceeds)) OVER () AS [Percentage of Total Net Proceeds],