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 百分比,一个地区的收入百分比,困惑的主要内容,如果未能解决你的问题,请参考以下文章

R十分位百分比绘图

使用sql语句计算百分比

SQL - 计数和百分比

选择超过总值百分比的行子集

如何使用 SQL 语句计算百分比

统计百分比的一个SQL脚本