Mysql 用SQL计算平均值
我的桌子是这样的Mysql 用SQL计算平均值,mysql,sql,count,sum,pivot,Mysql,Sql,Count,Sum,Pivot,我的桌子是这样的 C1 Bool Count A TRUE 5 A FALSE 5 B FALSE 6 C TRUE 2 C FALSE 8 我想计算Bool=True中count的部分,按C1分组。理想的结果应该是 C1 Portion A 0.5 B 0 C 0.2 我真的不知道如何做到这一点。非常感谢您的帮助您可以执行条件聚合: select c1, sum(case whe
C1 Bool Count
A TRUE 5
A FALSE 5
B FALSE 6
C TRUE 2
C FALSE 8
我想计算Bool=True中count的部分,按C1分组。理想的结果应该是
C1 Portion
A 0.5
B 0
C 0.2
我真的不知道如何做到这一点。非常感谢您的帮助您可以执行条件聚合:
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中的语言关键字,因此列名称的选择很差(如果按原样运行,上述查询将出错)