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 08 MySQL
浅谈mysql返回Boolean类型的几种情况
Jun 04 MySQL
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
Jun 18 MySQL
详解MySQL多版本并发控制机制(MVCC)源码
Jun 23 MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
Oct 15 MySQL
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 MySQL
教你使用VS Code的MySQL扩展管理数据库的方法
Jan 22 MySQL
如何创建一个创建MySQL数据库中的datetime类型
Mar 21 MySQL
MySQL实战记录之如何快速定位慢SQL
Mar 23 MySQL
MySQL创建管理RANGE分区
Apr 13 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 MySQL
MYSQL常用函数介绍
May 05 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
Smarty安装配置方法
2008/04/10 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
python九九乘法表的实例
2017/09/26 Python
python实现从ftp服务器下载文件
2020/03/03 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
土木工程专业推荐信
2014/02/19 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
Python与C++中梯度方向直方图的实现
2022/03/17 Python