mysql 生成连续日期及变量赋值


Posted in MySQL onMarch 20, 2022

1、生产连续日期

说明:主要作用于一些统计数据,来根据时间顺序进行显示;
假如数据库数据有隔天数据,偏偏统计又需要每天的都显示,即便是0,那就要生成一个时间表,来使用;

查询数据库数据:

SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) AS date,
        COUNT(1) AS numb
FROM
    qc_task 
    WHERE
    create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and
    department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = '1' AND dept_level >= (@dep_DJ)) 
    GROUP BY DATE_FORMAT( create_time, '%Y-%m-%d' )

隔天时出数据:

mysql 生成连续日期及变量赋值

这样是不是就不好看了,如果非要说加个order by 1 desc 排一下,也可以…
但是就算排出来,时间也是不连贯的;

生成最近7天的日期:

// 方法笨,但还是有效的
select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),'%Y-%m-%d') as 'datetime' from 
 (SELECT @num:=@num+1 as sj from 
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, 
           -- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t1,  -- 假如嫌弃生成的少,打来这个就行
            (SELECT @num:=0) y) as timeList

生成的时间:

mysql 生成连续日期及变量赋值

生成后使用:

-- 生成后左右链接即可,但主表要为时间表
SELECT f.datetime, t.numb FROM 
(SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) AS date,
        COUNT(1) AS numb
FROM
    qc_task 
    WHERE
    create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and
    department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = '1' AND dept_level >= (@dep_DJ)) 
    GROUP BY DATE_FORMAT( create_time, '%Y-%m-%d' )) t
right join 
(select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),'%Y-%m-%d') as 'datetime' from 
 (SELECT @num:=@num+1 as sj from 
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, 
            (SELECT @num:=0) y) as timeList) f  on t.date = f.datetime ;
            

使用后效果:

mysql 生成连续日期及变量赋值

我这里是数据库没有数据…所以看不到有数量显示

2、变量赋值

看到第一个里面 @符号很多是吗,那些都是变量,如果把查询语句放进去,整个查询语句就显得太臃肿了,会很长…所以有些东西可以拆分出去;

比如在查询数据库语句中的:

mysql 生成连续日期及变量赋值

来看下他们的真面目:

#  查询部门区域编号
SELECT @dep_BH:=(SELECT area_code FROM qc_department WHERE dept_name = "历下区");
#  查询部门等级
SELECT @dep_DJ:=(SELECT dept_level FROM qc_department WHERE dept_name = "历下区");

到此这篇关于mysql 生成连续日期及变量赋值的文章就介绍到这了,更多相关mysql 连续日期与变量赋值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
Idea连接MySQL数据库出现中文乱码的问题
Apr 14 MySQL
MySQL Shell的介绍以及安装
Apr 24 MySQL
MySQL 查询速度慢的原因
May 25 MySQL
虚拟机linux端mysql数据库无法远程访问的解决办法
May 26 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
mysq启动失败问题及场景分析
Jul 15 MySQL
mysql脏页是什么
Jul 26 MySQL
SQL实现LeetCode(175.联合两表)
Aug 04 MySQL
Mysql8.0递归查询的简单用法示例
Aug 04 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
Dec 24 MySQL
MySQL派生表联表查询实战过程
MySQL学习之基础命令实操总结
Mar 19 #MySQL
MySQL学习之基础操作总结
Mar 19 #MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 #MySQL
MySQL 主从复制数据不一致的解决方法
浅谈redis的过期时间设置和过期删除机制
MySQL读取JSON转换的方式
Mar 18 #MySQL
You might like
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
javascript 写类方式之八
2009/07/05 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
python程序控制NAO机器人行走
2019/04/29 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
光电信息专业应届生求职信
2013/10/07 职场文书
商场经理竞聘演讲稿
2014/01/01 职场文书
主题教育活动总结
2014/05/05 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
机关作风建设心得体会
2014/10/22 职场文书
立案决定书范文
2015/06/24 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python