MySQL 分组统计并列出百分比

不问归期 提交于 2020-03-07 08:05:29
SELECT
result,
n,
round( n / s * 100, 5 ) rat 
FROM
(
SELECT
* 
FROM
( SELECT result, count( 1 ) n FROM sendsms_log GROUP BY result ) t1
INNER JOIN ( SELECT count( 1 ) s FROM sendsms_log ) t2 ON 1 = 1 
) t

其中“SELECT result, count( 1 ) n FROM sendsms_log GROUP BY result”是查出短信发送结果分组统计,“SELECT count( 1 ) s FROM sendsms_log”查出所有记录数,round( n / s * 100, 5 )计算百分比,保留5位小数。效果:

result         n           rat      
至尊 100 10%
总代 100 10%
市代 300 30%
分销 500 50%
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!