Mysql统计不同区间的数据Sum和Count

whdahanh 发布于 2023-07-27 309 次阅读


Mysql统计不同区间的数据

1.sum(if(表达式,1,0))

select count(*),sum(if(amount<=10,1,0)as `数量小于10`,sum(if(amount>10 and amount<=20,1,0)as `数量小于20大于10`
from orders;

统计总客户数,和销量在(0,10]的客户数,(10,20]的客户数所用表orders为:

Company amount
Ajjhd 2
Daljj 12
Rajs 9
Fghsd 14

2.count(if(表达式,true,null))

解析:

  1. sum(if(category=1,size,0))中 sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。
  2. count(if(category=1,true,null))中count函数返回一个布尔值类型的数值,如果category=1,返回true,如果category不等于1返回null,如果写成count(If(category=1,1,0) 则返回的全是true,也就是说全都会计数,而count()间断内容是true还是null,如果不是null就计数,如果是null就不计数。

本篇文章来源于CSDN:https://blog.csdn.net/qq_35297368/article/details/120185661



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-07-27