从SSMS中的列计算百分比

时间:2018-07-20 15:02:23

标签: sql sql-server

我想计算一列的百分比。我已将房地产销售汇总到该组中,我想计算每个组中所有销售的百分比。我想在sql中创建“销售百分比”列。 任何帮助将不胜感激!

geoid     sales      percent of sales
  1       34            7.28
  2      256           54.82
  3       45            9.64
  4      117           25.05
  5        3            0.64
  6       12            2.57

2 个答案:

答案 0 :(得分:1)

您可以使用窗口函数在SQL查询中执行此操作:

select geoid, sales,
       sales * 100.0 / sum(sales) over ()
from t;

答案 1 :(得分:1)

我将使用一个简单的子查询和一些数学算法来实现这一目标。

SELECT geoId, sales, (SUM(sales)* 100 / (SELECT SUM(sales) 
  FROM MyTable)) as Percentage
FROM MyTable
GROUP BY geoId, sales

以下是实际操作的示例:SQL Fiddle