按天统计数据,如果当天没有记录,则统计为0
来源:互联网 发布:python教程3.6.2 编辑:程序博客网 时间:2024/06/05 18:11
今天做一个统计需求,按天统计这张表的记录数,按照pay_month和格式化之后的payment_time来分组,这张表大致数据如下
按照pay_month和格式化之后的payment_time分组之后,数据如下
我需要统计的是10天前到今天的数据,但就pay_month=1的数据来讲,只有2,3,4,7号有数据。而我想要没有数据的那一天同样统计出来并用0来填充。
第一反应是用left join,但由于mysql没有oracle的connect by level,只能用一张数据条数绝对大于10的表来代替select level from dual connect by level < 10;我就选了tb_order这张表本身
再left join需要分组的表
最终达到的结果如下:
正真需要的只有days和total_score两列,这样就算是完成了。
按照pay_month和格式化之后的payment_time分组之后,数据如下
我需要统计的是10天前到今天的数据,但就pay_month=1的数据来讲,只有2,3,4,7号有数据。而我想要没有数据的那一天同样统计出来并用0来填充。
第一反应是用left join,但由于mysql没有oracle的connect by level,只能用一张数据条数绝对大于10的表来代替select level from dual connect by level < 10;我就选了tb_order这张表本身
SELECT @cdate := date_add(@cdate,interval -1 day) days from (SELECT @cdate := CURDATE() from tb_order limit 10) t1
再left join需要分组的表
select t2.days,t3.begin_day,t3.end_day,t3.pay_month, t3.pay_day,IFNULL(t3.score,0) total_score from (SELECT @cdate := date_add(@cdate,interval -1 day) days from (SELECT @cdate := CURDATE() from tb_order limit 10) t1) t2LEFT JOIN(select CURDATE() end_day,PAY_MONTH, date_add(CURDATE(),interval -10 day) begin_day, date_format(PAYMENT_TIME,'%Y-%m-%d') pay_day, count(1) score from tb_orderwhere ORDER_STATUS='ORDER_USED' and CURDATE()<=date_add(date_format(PAYMENT_TIME,'%Y-%m-%d'),interval 10 day)group by PAY_MONTH,date_format(PAYMENT_TIME,'%Y-%m-%d')) t3on t2.days=t3.pay_day
最终达到的结果如下:
正真需要的只有days和total_score两列,这样就算是完成了。
阅读全文
0 0
- 按天统计数据,如果当天没有记录,则统计为0
- 按月查询统计数据,没有数据的默认为0
- mysql 按月统计数据 没有数据按0补全
- access 通过union以天为单位统计当天的每个时段的数据(24H)
- (java)根据文件修改时间,判断是否为当天文件,如果不是则删除文件夹内文件
- elastic按小时统计当天数据
- coreseek索引更新机制 (如果没有文档被索引,则$maxid会设置为0)
- 处理数据如果没有数据则显示为null
- group by sum if 判断,如果该字段是1,则计入统计,如果为其他则不计入统计
- datagrid返回记录为0时显示“没有记录”
- MySQL统计过去12个月的数据没有则为0
- sql分类统计,条件中没有的为0
- 分类统计数据,按类别统计小计,最后再合计
- 按小时统计数据,无数据的时间点填充为0的实现方法
- 取当天随机记录
- sql查询当天记录
- 如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误
- 如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误
- Struts2 上传图片
- bootstrap弹窗里面再弹窗
- [Web API]以Attribute加上Header验证
- 尼姆博奕HDU 5795 A Simple Nim(SG打表找规律)
- Java冒泡排序示例
- 按天统计数据,如果当天没有记录,则统计为0
- ssh 的 整合方案
- 通过CodeIgniter快速开发Web应用(一)
- oracle jdbc 连接字符串
- myeclipse配置多个tomcat
- mongodb导出数据导入mysql
- 身份证验证
- 阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程
- mysql通过binlog恢复数据