首页 > 数据库 >mysql统计 不含的月份补0

mysql统计 不含的月份补0

时间:2023-10-27 09:23:23浏览次数:34  
标签:code SELECT 不含 DATE cdate addCount mysql date 统计

构造当前日期之前10天的日期表  可以把DAY换成 MONTH 构造需要的月份   不需要固定天数的 可以去掉limit

SELECT
    @cdate := date_add( @cdate, INTERVAL - 1 DAY ) date 
FROM
    ( SELECT @cdate := date_add( CURDATE(), INTERVAL 1 DAY ) FROM APPLY LIMIT 10 ) a

 

正常写统计sql

select DATE_FORMAT( o.deadline, '%Y/%m' ) as 'date', SUM(1) addCount from u_model m,u_other o   
            where m.up_code = o.up_code  
            and o.deadline BETWEEN #{now} and #{future}  
            group by `date`

 

最后以日期表为主表 左连接  业务sql的结果聚合表

select table1.`date` as 'date',cast(ifnull(table2.`addCount`, 0) as char) as 'addCount' from  
             (SELECT DATE_FORMAT( @cdate := DATE_ADD(@cdate,INTERVAL - 1 month), '%Y/%m' ) `date`,0 `addCount`  
             FROM (SELECT @cdate :=DATE_ADD('2024-03-01', INTERVAL 1 month) FROM u_other) t1   
             WHERE @cdate > #{now} ) table1 left join  
             (select DATE_FORMAT( o.deadline, '%Y/%m' ) as 'date', SUM(1) addCount from u_model m,u_other o   
            where m.up_code = o.up_code  
            and o.deadline BETWEEN #{now} and #{future}  
            group by `date`) table2  on  table1.`date` = table2.`date` order by table1.`date`  

 

标签:code,SELECT,不含,DATE,cdate,addCount,mysql,date,统计
From: https://www.cnblogs.com/xuchao0506/p/17791016.html

相关文章

  • 常见面试题-MySQL专栏(一)
    为什么mysql删了行记录,反而磁盘空间没有减少?答:在mysql中,当使用delete删除数据时,mysql会将删除的数据标记为已删除,但是并不去磁盘上真正进行删除,而是在需要使用这片存储空间时,再将其从磁盘上清理掉,这是MySQL使用延迟清理的方式。延迟清理的优点:如果mysql立即删除数据,会导......
  • 41 mysql 索引和慢查询优化
    MySQL之索引原理与慢查询优化 阅读目录一介绍二索引的原理三索引的数据结构四聚集索引与辅助索引五MySQL索引管理六测试索引七正确使用索引八联合索引与覆盖索引九查询优化神器-explain十慢查询优化的基本步骤十一慢日志管理一介绍为何要......
  • scrapy中爬虫数据如何异步存储mysql数据库jd
    1.SQLCREATETABLE`JDAll`(`shop_id`VARCHAR(16)NOTNULL,//商品ID`url`VARCHAR(255)DEFAULTNULL,//商品url`title`VARCHAR(1024)DEFAULTNULL,//商品标题`brand`VARCHAR(255)DEFAULTNULL,//品牌`brand_url`VARCHAR(1024)DEF......
  • 事务,python连接mysql 索引等
    1.python连接MySQLMySQL本身就是一款C/S架构,有服务端、有客户端,自身带了有客户端:mysql.exepython这门语言成为了MySQL的客户端(对于一个服务端来说,客户端可以有很多)"""SQL的由来"""操作步骤:1.先链接MySQLhost、port、username、password、charset、库等......
  • maven创建普通java项目访问mysql-mybatis
    基础资料:数据库:d1,表:t1,字段:xm,nl(即姓名、年龄),内容('zs',20;'ls',18)以下内容由官网“https://mybatis.org/mybatis-3/zh/getting-started.html”整理而来。不尽不实之处请参考官网原文。思想:1、在pom.xml文件中除了给出mybatis和jdbc的依赖之外,还应给出资源(配置)文件位置。2、在my......
  • MySQL--变量
    变量mysql中的变量分为两种14.1系统变量1)全局变量在一个会话中修改,其他会话中的全局变量也会跟着修改showglobalvariables;查看全局的系统变量修改变量:set@@global.time_zone="system"setglobaltime_zone="+8:00"2)会话级变量在一个会话中修改,其他会话不受影响showsess......
  • 使用NvicatPremium时,Mysql数据库插入数据时,报错1064
    使用navicatPremium新版本时,插入数据,显示错误1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''choose'('ChooseNo','SNo','CNo','......
  • javaweb--mysql数据模型
    关系型数据库由多张可以相互连接的二维表组成的数据库frm表文件myd数据文件注释/**/多行注释--和#单行注释四类语法DDL数据定义语言DML数据操作语言DQL数据查询语言DCL数据控制语言原始数据库information_schema存储数据库的基本信息,存储的库名表名列名等mysql存......
  • MySQL报'Access denied for user 'root'@'localhost' (using password: NO)'
    当在命令提示符下执行该命令时,报下列错误[root@clvn]#mysqladmin-urootpassword"sorry"mysqladmin:connecttoserverat'localhost'failederror:'Accessdeniedforuser'root'@'localhost'(usingpassword:NO)'解决办法:[root@c......
  • node+mysql+express实现登录/注册/修改密码/删除用户 接口
    实现用户的注册、登录、修改密码、删除用户操作用到的数据库:nodecms;表:user目录结构:db目录下存放数据库操作语句:userSQL.js用户有关的操作语句router目录接口路由文件user.js用户接口路由connect.js数据库连接index.html前端测试页面index.js入口文件package.js......