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 相关文章推荐
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
Apr 05 MySQL
mysql在项目中怎么选事务隔离级别
May 25 MySQL
MySQL查看表和清空表的常用命令总结
May 26 MySQL
mysql脏页是什么
Jul 26 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
mysql事务隔离级别详情
Oct 24 MySQL
MySQL创建定时任务
Jan 22 MySQL
MySQL 分区表中分区键为什么必须是主键的一部分
Mar 17 MySQL
MySQL中EXPLAIN语句及用法
May 20 MySQL
MySQL中order by的执行过程
Jun 05 MySQL
MySQL中正则表达式(REGEXP)使用详解
Jul 07 MySQL
jdbc中自带MySQL 连接池实践示例
Jul 23 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
第二节 对象模型 [2]
2006/10/09 PHP
PHP新手上路(八)
2006/10/09 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
angular.element方法汇总
2015/01/07 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
Python 除法小技巧
2008/09/06 Python
python实现RSA加密(解密)算法
2016/02/17 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
浅谈python 类方法/静态方法
2020/09/18 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
运动会入场词100字
2014/02/06 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android