需要统计一个打卡习惯,要求是传入一个时间格式如“2019-07” ,获取整个月份的统计,没有的补0

下面直接上sql:

SELECTxx_date,MAX( SUM ) AS SUM
FROM(SELECTd.xx_date AS xx_date,d.sum AS SUM FROM(SELECT@num := @num + 1 num,0 AS `sum`,DATE_ADD( DATE_FORMAT( '2019-07-01', '%Y-%m-%d' ), INTERVAL @num DAY ) AS xx_date FROMshopping_hibitRecord a,( SELECT @num :=- 1 ) num_t WHERE@num < ( SELECT DAYOFMONTH( LAST_DAY( '2019-07-01' ) ) - 1 ) ) d UNION ALLSELECTDATE_FORMAT( ADDTIME, '%Y-%m-%d' ) AS `xx_date`,COUNT( * ) AS 'sum' FROM`shopping_hibitRecord` WHEREDATE_FORMAT( shopping_hibitRecord.`ADDTIME`, '%Y-%m' ) = '2019-07' AND deleteStatus = FALSE AND TYPE = 0 AND sendUser_id = 35920 AND habit_id = 298 GROUP BYxx_date DESC ) b
GROUP BY`xx_date` DESC

这段代码分为两步:第一步,获取传入时间的月份的所有天数,并统计设为0

如下:

SELECTd.xx_date AS xx_date,d.sum AS SUM FROM(SELECT@num := @num + 1 num,0 AS `sum`,DATE_ADD( DATE_FORMAT( '2019-07-01', '%Y-%m-%d' ), INTERVAL @num DAY ) AS xx_date FROMshopping_hibitRecord a,( SELECT @num :=- 1 ) num_t WHERE@num < ( SELECT DAYOFMONTH( LAST_DAY( '2019-07-01' ) ) - 1 ) ) d 

第二步,从我们的记录表中筛选出打卡记录统计信息:

SELECTDATE_FORMAT( ADDTIME, '%Y-%m-%d' ) AS `xx_date`,COUNT( * ) AS 'sum' FROM`shopping_hibitRecord` WHEREDATE_FORMAT( shopping_hibitRecord.`ADDTIME`, '%Y-%m' ) = '2019-07' AND deleteStatus = FALSE AND TYPE = 0 AND sendUser_id = 35920 AND habit_id = 298 GROUP BYxx_date DESC 

结果是:

第三步,全连接后进行group by 时间

SELECTxx_date,MAX( SUM ) AS SUM
FROM(SELECTd.xx_date AS xx_date,d.sum AS SUM FROM(SELECT@num := @num + 1 num,0 AS `sum`,DATE_ADD( DATE_FORMAT( '2019-07-01', '%Y-%m-%d' ), INTERVAL @num DAY ) AS xx_date FROMshopping_hibitRecord a,( SELECT @num :=- 1 ) num_t WHERE@num < ( SELECT DAYOFMONTH( LAST_DAY( '2019-07-01' ) ) - 1 ) ) d UNION ALLSELECTDATE_FORMAT( ADDTIME, '%Y-%m-%d' ) AS `xx_date`,COUNT( * ) AS 'sum' FROM`shopping_hibitRecord` WHEREDATE_FORMAT( shopping_hibitRecord.`ADDTIME`, '%Y-%m' ) = '2019-07' AND deleteStatus = FALSE AND TYPE = 0 AND sendUser_id = 35920 AND habit_id = 298 GROUP BYxx_date DESC ) b
GROUP BY`xx_date` DESC

结果就是我要的数据:

这仅仅是一种解决方法。

转载于:https://www.cnblogs.com/wyf-love-dch/p/11199087.html

传入一个月份获取该月的统计信息相关推荐

  1. 使用pandas GroupBy获取每个组的统计信息(例如计数,均值等)?

    本文翻译自:Get statistics for each group (such as count, mean, etc) using pandas GroupBy? I have a data f ...

  2. JS switch 输入一个月份 判断该月有多少天

    1.接收用户数据 var year = parseInt(prompt('请您输入一个年份', 2000)); var month = parseInt(prompt('请您输入一个月份', 5)); ...

  3. python数据分析(1)——获取微信好友的统计信息

    本文主要是尝试下一个比较有意思的python模块:wxpy,导入此模块之后,可以很方便的来创建一个微信机器人和做一些和微信相关的有意思的分析. 1. wxpy 安装 首先,通过pip方式进行安装,在命 ...

  4. Elasticsearch - Indices stats 获取索引级别的统计信息之三 【indexing】索引操作信息

    文章目录 一.获取索引操作统计信息 1.获取所有索引的indexing信息 2.获取指定索引的indexing信息 3.获取同类索引的indexing信息 二.输出结果 三.结果详情 1._shard ...

  5. Elasticsearch - Indices stats 获取索引级别的统计信息之六 【segments】段的内存使用情况

    文章目录 一.获取segments内存使用信息 1.获取所有索引的segments信息 2.获取指定索引的segments信息 3.获取同类索引的segments信息 二.输出结果 三.可选参数:in ...

  6. 传入一个日期 返回该月的第一天是星期几_Excel VBA 编程开发应用系列 (二十一)— Excel常用的日期函数...

    Excel为我们提供了大约有20个日期和时间的处理函数,这些函数对于处理表格中的日期数据都是非常有用的.下面介绍几个常用的Excel日期函数及其实际应用案例. 获取当前日期和时间的函数:today() ...

  7. oracle获取分组后的统计信息,并只要前五条

    select * from (select b.name,sum(a.je) "value" from zklt_sjjl a  left join zklt_area b on ...

  8. R语言epiDisplay包mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应系数及标准差、相对危险降低率RRR值及其置信区间、AIC值等)、汇总统计

    R语言使用epiDisplay包的mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应的系数及标准差.相对危险降低率RRR值及其置信区间.AIC值等). ...

  9. sql错误索引中丢失_收集,汇总和分析丢失SQL Server索引统计信息

    sql错误索引中丢失 描述 (Description) Indexing is key to efficient query execution. Determining what indexes a ...

  10. SQL Server统计信息以及如何在SQL中执行更新统计信息

    This article gives a walk-through of SQL Server Statistics and different methods to perform SQL Serv ...

最新文章

  1. 中国AI创新者论坛成功举办!这里有一份AI教育和医疗的落地秘籍
  2. 在Linux下用源码编译安装apache2
  3. Failed to execute
  4. unix系统重启tcp服务器,《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》 —3.5 服务器重启动...
  5. 快速上手Expression Tree(一):做一做装配脑袋的Expression Tree 习题
  6. vue引入外部文件_vue3+typescript引入外部文件
  7. js控制时间显示格式
  8. 如何制作出色的R可重现示例
  9. JavaScript:执行机制
  10. kubernetes kubeadm init kube-apiserver.yaml already exists
  11. Qt6安装教程——国内源
  12. 什么款式蓝牙耳机玩游戏更舒适?五款小巧低延迟蓝牙耳机推荐
  13. 介绍html5ppt模板,html5简单介绍.ppt
  14. php spider 参数详解,利用phpspider爬取网站数据
  15. 键盘连接计算机接口,终于明白电脑如何连接键盘
  16. 谷歌地图高清卫星地图
  17. 简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
  18. 《宣州谢眺楼饯别校书叔云》 李白诗两首
  19. NYOJ - [第九届河南省程序设计大赛]宣传墙(DP)
  20. 腾讯云TCA运维考试题

热门文章

  1. python语法学习第十天--类与对象相关的BIF、魔法方法
  2. python语法学习第七天--文件
  3. ++库 照片风格转换风格_婚纱照中式风格照片大全 2020年中式婚纱照怎么拍
  4. getRequestDispatcher 和sendRedirect区别及路径问题
  5. 3.26 Tensorflow 实验记录
  6. Ribbon 均衡策略 与 脱离 Eureka 使用、LoadBalancerClient
  7. RocketMQ 下载、安装与 单机启动
  8. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_06-新增页面-前端-新增页面...
  9. 阶段3 2.Spring_01.Spring框架简介_06.spring的体系结构
  10. 【转】Qt 资源图片删除后,错误 needed by `debug/qrc_image.cpp'. Stop. 的终极解决办法...