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 相关文章推荐
MySQL基础(一)
Apr 05 MySQL
mysql多表查询-笔记七
Apr 05 MySQL
mysql批量新增和存储的方法实例
Apr 07 MySQL
教你解决往mysql数据库中存入汉字报错的方法
May 06 MySQL
MySQL EXPLAIN输出列的详细解释
May 12 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
浅谈如何保证Mysql主从一致
Mar 13 MySQL
优化Mysql查询的示例
Apr 26 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MySQL数据库安装方法与图形化管理工具介绍
May 30 MySQL
postgresql如何找到表中重复数据的行并删除
May 08 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
PHP 地址栏信息的获取代码
2009/01/07 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python线程threading模块用法详解
2020/02/26 Python
Python实现上下文管理器的方法
2020/08/07 Python
Python修改DBF文件指定列
2020/12/19 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
异步传递消息系统的作用
2016/05/01 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
本科毕业生的求职信范文
2013/11/20 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
寄语学生的话
2014/04/10 职场文书
房屋授权委托书范本
2014/10/07 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis