百分比运算,然后排列的问题。
有表 tab 字段 a1 a2
PHP code<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->a1 a2 王 0 王 1 王 3 李 1 李 2
运算 a2 里 王>0 的数值有2个 王的数值一共有3个 2/3 输出66%
李 是 100% 然后按照百分比大小 按从大到小排列
输出结果显示
PHP code<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->李 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的 占 总体 的百分数,这是基本的算术
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn