百分比运算,然后排列的问题。
有表 tab 字段 a1 a2
PHP code<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->a1 a2 王 0 王 1 王 3 李 1 李 2
Salin selepas log masuk
运算 a2 里 王>0 的数值有2个 王的数值一共有3个 2/3 输出66%
李 是 100% 然后按照百分比大小 按从大到小排列
输出结果显示
PHP code<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->李 100%王 66%
Salin selepas log masuk
------解决方案--------------------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的 占 总体 的百分数,这是基本的算术