select sum(if('a2>0',1,0)/'count(*)')*100 as num from tab group by a1 order by num desc我改了下 错误 能运行了 但是 运行为空
select a1,sum(if(a2>0,1,0)/'count(*)')*100 as num from tab group by a1 order by num desc真心 运行后 计算为空啊
select a1,sum(if(a2>0,1,0))/'count(*)')*100 as num from tab group by a1 order by num desc; //少了一个括号
select a1,sum(if(a2>0,1,0))/count(*)*100 as num from tab group by a1 order by num desc式中: sum(if(a2>0,1,0)) 统计 a2 大于 0 的个数 count(*) 统计总体的个数大于0的个数 / 总体个数 * 100 就是 大于0的 占 总体 的百分数,这是基本的算术
sum(if(a2>0,1,0)) 统计 a2 大于 0 的个数
count(*) 统计总体的个数大于0的个数 / 总体个数 * 100
就是
大于0的 占 总体 的百分数,这是基本的算术