[英]Combine the pivot table to calculate the ratio
在 SQL 上,我有一个 pivot 表,如:
col1 col2 col3
A 0 90
A 1 10
B 0 80
B 1 20
我想要以下内容:
col1 ratio
A 90%
B 80%
我想到的唯一方法是计算每个 col1 值的 1 和 0 的总和。 然后将 1 的数量除以总数,但这需要额外的子查询。 也许还有其他选择?
使用聚合和算术。 假设第二列中有0
/ 1
值:
select col1, sum(col2 * col3) / sum(col3)
from t
group by col1;
一些数据库做 integer 除法,所以如果列是整数,你可能想要:
select col1, sum(col2 * col3) * 1.0 / sum(col3)
然后,您不需要使用派生表。 您可以 go 到基表并使用公式聚合:
select col1, avg(col3 * 1.0)
from base
group by col1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.