百分比运算,然后排列的问题。
有表 tab 字段 a1 a2
- PHP code
a1 a2 王 0 王 1 王 3 李 1 李 2
运算 a2 里 王>0 的数值有2个 王的数值一共有3个 2/3 输出66%
李 是 100% 然后按照百分比大小 按从大到小排列
输出结果显示
- PHP code
李 100%王 66%
[解决办法]
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的 占 总体 的百分数,这是基本的算术