我的桌子是这样的
C1 Bool Count
A TRUE 5
A FALSE 5
B FALSE 6
C TRUE 2
C FALSE 8我想计算按C1分组的Bool=True中的计数部分。理想的结果应该是
C1 Portion
A 0.5
B 0
C 0.2我真的不确定如何实现这一点。非常感谢大家的帮助
发布于 2020-10-18 05:07:14
您可以执行条件聚合:
select c1, sum(case when bool then count else 0 end) / sum(count) ratio
from mytable
group by c1这里假设bool是bool[ean]数据类型,因此可以直接在条件谓词中使用它。
注意,bool和count都是MySQL中的语言关键字,因此对列名的选择很差(如果您按原样运行上面的查询,它将会出错)。
https://stackoverflow.com/questions/64407337
复制相似问题