文章目录


前言

在日常开发大屏接口中,经常存在按照类别统计数量和其所占百分比的情况。此时我们可以通过编写程序去处理,也可以使用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等语句。感兴趣的同学可自信搜索学习。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐