1. 首页
  2. 数据库
  3. MySQL
  4. MySQL巧用sum、case和when优化统计查询

MySQL巧用sum、case和when优化统计查询

上传者: 2021-08-24 21:50:02上传 PDF文件 331.53 KB 热度 32次

现在数据库有一张订单表,表结构如下:统计某段时间范围内每天的来源编号数量,其中来源编号对应数据表中的o_source字段,字段值可能为CDE,SDE,PDE,CSE,SSE。在老大的指引下,利用sum聚合函数,加上case...when...then...这种“陌生”的用法,有效的解决了这个问题。关于MySQL中case...when...then的用法就不做过多的解释了,这条SQL很容易理解,先对一条一条记录进行遍历,group by对日期进行了分类,sum聚合函数对某个日期的值进行求和,重点就在于case...when...then对sum的求和巧妙的加入了条件,当o_source = 'CDE'的时候,计数为1,否则为0;当o_source='SDE'的时候......这条语句的执行只花了一秒多,对于五十多万的数据进行这样一个维度的统计还是比较理想的。

下载地址
用户评论