Postgresql 基于postgres中的布尔值计数的每行平均值
是否可以找到按某些条件分组的列中多行的平均值,但平均值不是数字值,实际上是特定布尔条件下的另一个计数:Postgresql 基于postgres中的布尔值计数的每行平均值,postgresql,psql,Postgresql,Psql,是否可以找到按某些条件分组的列中多行的平均值,但平均值不是数字值,实际上是特定布尔条件下的另一个计数: select count(commit) from table_x where contains_bug = 'True' group by project name_name; 这将返回每个项目的风险提交数 select count(commit) from table_x group by project name_name; 这将返回每个项目的提交总数 我试图通过以下方式找到每个项目
select count(commit) from table_x where contains_bug = 'True' group by project name_name;
这将返回每个项目的风险提交数
select count(commit) from table_x group by project name_name;
这将返回每个项目的提交总数
我试图通过以下方式找到每个项目的平均风险承诺:
Select AVG(select count(commits)from table_x where contains_bug = 'True') group by project_name;
它不起作用
谢谢我终于得到了答案:)
您可以使用AVG(但需要先转换为INT):
select project_name, to_char(count(nullif(contains_bug = 'True', false))/count(*)::float*100, '99.99') as percentage from table_x group by project_name;
SELECT AVG(CAST(contains_bug = 'True' AS int)) FROM table_x GROUP BY project_name;