SQL 百分比,一个地区的收入百分比,困惑
Posted
技术标签:
【中文标题】SQL 百分比,一个地区的收入百分比,困惑【英文标题】:SQL percents, revenue of a region by percent, confused 【发布时间】:2014-11-16 04:56:54 【问题描述】:How to calculate percentage with a SQL statement
我有一个类似的问题,除了收入。 一家公司有一个地区(东西中部)和收入
我已经汇总了各个地区,但我在处理百分比时遇到了麻烦,这就是我目前所拥有的
按地区汇总的收入(按从高到低的顺序,计算每个地区占总收入的百分比)这是我目前的代码
SELECT Region, Sum(revenue) AS TotalRevenue
FROM Sales
GROUP BY Region
ORDER BY Sum(revenue) DESC;
我也试过
SELECT Sales.Region, Sales.Sales.[*] AS Expr1
FROM Sales
GROUP BY Sales.Sales.[*], Sales;
我还是很迷茫
我试过这段代码,它工作正常 选择 地区 , Sum(revenue) AS TotalRevenue , Sum(revenue) / (SELECT SUM(revenue) FROM Sales) * 100 AS 百分比 从销售 按地区分组 ORDER BY Sum(revenue) DESC;
现在,还有另一部分
对于收入最少的地区,按收入和占地区销售额的百分比显示产品 对于收入最少的地区,显示按收入和占地区销售额百分比排名的客户列表 然后我必须准备图表或表格来总结我在 excel 中的发现 我应该将我的数据复制并粘贴到 excel 中还是将其链接到 excel/将其导入到 excel 中?如果我需要这样做,我该怎么做?谢谢
【问题讨论】:
Sales.Sales.[*]
应该是什么意思?
请不要破坏这个问题。为了对其他人有用,您必须保留 Abecee 回答时的问题。感谢您的合作。
【参考方案1】:
SELECT
Region
, Sum(revenue) AS TotalRevenue
, Sum(revenue) / (SELECT SUM(revenue) FROM Sales) * 100 percentage
FROM Sales
GROUP BY Region
ORDER BY Sum(revenue) DESC;
【讨论】:
你在哪里需要百分号?在保存值的列内?这需要将其更改为字符类型——这将影响潜在的进一步处理。 (SQL Fiddle 没有抱怨缺少AS
,抱歉。)
ABC,已经解决了,你能不能把你的答案去掉或者留个空白/别的什么,如果你这样做我可以给你批准,否则我不会以上是关于SQL 百分比,一个地区的收入百分比,困惑的主要内容,如果未能解决你的问题,请参考以下文章