文章目录
前言
在日常开发大屏接口中,经常存在按照类别统计数量和其所占百分比的情况。此时我们可以通过编写程序去处理,也可以使用sql自带的函数去处理使代码更简洁。
一、使用什么函数?
1.count(*)/count(字段名)
-
COUNT(*)
计算表中总的行数,无论某列有数值或者为空值。 -
COUNT(字段名)
计算指定列下总的行数,计算时将忽略空值的行。
2.concat(str1, str2,...)
-
返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。
3.round(x,d) /round(x)
-
round(x,d) -- x指要处理的数,d是指保留几位小数
-
round(x,d) -- 同round(x,0),即不保存小数
二、具体实例
1.sql语句
SELECT
program, --领域
count( program ) AS count, --领域总数
concat( round( count( category ) / ( SELECT count( * ) FROM cppcc_proposal ) * 100, 2 ), '%' ) AS per --所占百分比
FROM
cppcc_proposal --表名
WHERE
active = '0' --有效数据
GROUP BY
program --领域
HAVING
program IS NOT NULL --领域部位null
ORDER BY
program --排序
2.输出结果
总结
在上面的例子中,不仅使用了函数,同样应用到了GROUP BY、HAVING、ORDER BY
等语句。感兴趣的同学可自信搜索学习。