sql 条件统计,count+if+sum

1,前提

看同事写的sql语句时,觉得他写的这个count+sum+if的sql还挺新鲜,

学习记录下,感觉这个挺适合用来对历史数据做条件统计

2,count使用结果

  select count(0);//1
  select count(1);//1
  select count(null);//0
  select count(true);//1
  select count(false);//1 

3,应用

这个SQL语句的含义是从名为"test"的表中查询一些统计数据。下面是对每个选择的列的解释:

  • coming_times :计算在接下来的3天内到期且状态为"normal"或"over"的记录数量。
  • coming_amount :计算在接下来的3天内到期且状态为"normal"或"over"的记录的金额总和。
  • already_times :计算状态为"ahead"、"normal"或"over"的记录数量。
  • already_amount :计算状态为"ahead"、"normal"或"over"的记录的金额总和。

这个SQL语句的目的是提供关于"test"表中不同状态和到期时间范围的记录的统计信息

 SELECT
 	COUNT(IF(expire_date < DATE_ADD(now(), INTERVAL 3 DAY) AND expire_date >= now() AND status IN ('normal', 'over'), true, null)) AS coming_times,
 	SUM(IF(expire_date < DATE_ADD(now(), INTERVAL 3 day) AND expire_date >= now() AND status IN ('normal', 'over'),amount,0)) AS coming_amount,
 	COUNT(IF(status IN ('ahead','normal', 'over'),true,null)) AS already_times,
 	SUM(IF(status IN ('ahead','normal', 'over'),amount,0)) AS  already_amount
 FROM test
        

相关推荐

  1. sql 条件统计,count+if+sum

    2023-12-05 19:38:02       47 阅读
  2. SQL优化:条件提升

    2023-12-05 19:38:02       75 阅读
  3. SQL WHERE 语句(条件选择)

    2023-12-05 19:38:02       55 阅读
  4. SQL进阶--条件分支

    2023-12-05 19:38:02       26 阅读
  5. 统计商品各项数据sql&统计历史数据sql

    2023-12-05 19:38:02       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 19:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 19:38:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 19:38:02       82 阅读
  4. Python语言-面向对象

    2023-12-05 19:38:02       91 阅读

热门阅读

  1. 解析sql的数据流向关系获取

    2023-12-05 19:38:02       36 阅读
  2. Diary16-Word标题与目录设计

    2023-12-05 19:38:02       58 阅读
  3. pwgen 随机密码生成

    2023-12-05 19:38:02       53 阅读
  4. 实施工程师&运维工程师面试题

    2023-12-05 19:38:02       58 阅读
  5. 【算法集训】基础数据结构:一、顺序表(下)

    2023-12-05 19:38:02       63 阅读
  6. 2023年11月个人工作生活总结

    2023-12-05 19:38:02       55 阅读
  7. python中tuple、int和float的内置方法

    2023-12-05 19:38:02       55 阅读
  8. 快速学习PyQt5的动画和图形效果

    2023-12-05 19:38:02       47 阅读