要计算从一个表到另一表的多列的累积百分比

时间:2019-10-14 20:19:50

标签: sql

输入

Table 1         Table 2             
Amount      1   2   3   4   5
100     10  10  10  10  10
200     20  20  20  20  20

输出

    1   2   3   4   5
    10% 20% 30% 40% 50%
    10% 20% 30% 40% 50%

我试图在EXCEL中完成并成功,但是现在数据太大,无法在excel中完成

不适用

\

1 个答案:

答案 0 :(得分:1)

我假设两个表中都有一些列可用于联接表(否则,除非每个表中只有一条记录,否则您的问题将无法解决。

因此,假设具有以下表结构:

table1
    id
    amount

table2
    id
    col1
    col2
    col3
    col4
    col5

您可以连接两个表并进行如下计算:

select 
    t2.col1/t1.amount as col1,
    (t2.col1 + t2.col2)/t1.amount as col2,
    (t2.col1 + t2.col2 + t2.col3)/t1.amount as col3,
    (t2.col1 + t2.col2 + t2.col3 + t2.col4)/t1.amount as col4,
    (t2.col1 + t2.col2 + t2.col3 + t2.col4 + t2.col5)/t1.amount as col5
from table1 t1
inner join table2 t2 on t2.id = t1.id

结果集中的每一列(除id之外)将包含一个介于0和1之间的数字值,代表amount的累积部分。然后,您可以处理应用程序中的百分比格式。

相关问题