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 28 MySQL
将图片保存到mysql数据库并展示在前端页面的实现代码
May 02 MySQL
MySQL时间设置注意事项的深入总结
May 06 MySQL
MySQL COUNT函数的使用与优化
May 10 MySQL
MySQL查看表和清空表的常用命令总结
May 26 MySQL
探究Mysql模糊查询是否区分大小写
Jun 11 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
MySQL 服务和数据库管理
Nov 11 MySQL
Mysql外键约束的创建与删除的使用
Mar 03 MySQL
MySQL插入数据与查询数据
Mar 25 MySQL
Mysql中常用的join连接方式
May 11 MySQL
MySQL实现字段分割一行转多行的示例代码
Jul 07 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/06/29 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php计算函数执行时间的方法
2015/03/20 PHP
php目录拷贝实现方法
2015/07/10 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
Javascript之String对象详解
2016/06/08 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
python基础教程之类class定义使用方法
2014/02/20 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
留学生求职信
2014/06/03 职场文书
干部个人考察材料
2014/12/24 职场文书
养成教育工作总结
2015/08/13 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书