当前位置:   article > 正文

mysql分组统计占比/百分比_mysql 查询占比

mysql 查询占比

需求:统计当前数据库user_tasks表中,不同status字段值对应的记录条数及占比

sql语句

  1. SELECT
  2. `status`,
  3. number,
  4. concat(round(number / total * 100.00, 2), '%') percent
  5. FROM
  6. (
  7. SELECT
  8. *
  9. FROM
  10. (
  11. SELECT
  12. `status`,
  13. COUNT(1) number
  14. FROM
  15. `user_tasks`
  16. GROUP BY
  17. `status`
  18. ) t1
  19. INNER JOIN(
  20. SELECT
  21. COUNT(1) total
  22. FROM
  23. `user_tasks`
  24. ) t2 ON 1 = 1
  25. ) t

解析:

concat函数:

  1. 功能:字符串拼接
  2. 语法:concat(str1,str2),返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。
  3. 示例:SELECT CONCAT('hello','world')
  4. 进阶:concat_ws()函数,和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符。eg:

round()函数:

  1. 功能:对数据进行四舍五入
  2. 语法:round(x,d):x为需处理的数据,d为小数点后需保留的位数,可以为正数,也可以是负数(表示小数点前需为0的位数)
  3. 示例:

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号