2

我正在尝试在一个 sql 语句中计算小计的百分比。这需要使用子查询,但迄今为止无法适应 SAS 的示例

需要2个步骤:

  1. 按 LoadArea 计算 TotalCargo 的小计。
  2. 对小计求和,然后将每个 LoadArea 的小计除以总和。

将小计除以所有小计的总和。

 ShipmentID   LoadArea    TotalCargo
 1            BRZ         200000
 2            BRZ         250000
 3            AG          200000
 4            AG          250000 



 End result:
 LoadArea  TotalCargo  Vol_share
 AG        450000      .5
 BRZ       450000      .5     
4

1 回答 1

1

像这样:

SELECT 
  LoadArea, 
  SUM(TotalCargo)AS TotalCargo,
  (SUM(TotalCargo)* 1.0) / 
  (SELECT SUM(TotalCargo) FROM Table1) AS Vol_share
FROM Table1 
GROUP BY LoadArea;

SQL 小提琴演示

这会给你:

| LOADAREA | TOTALCARGO | VOL_SHARE |
-------------------------------------
|       AG |     450000 |       0.5 |
|      BRZ |     450000 |       0.5 |
于 2012-12-16T12:52:03.637 回答