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 Show Profile
Apr 05 MySQL
mysql5.7使用binlog 恢复数据的方法
Jun 03 MySQL
为什么MySQL选择Repeatable Read作为默认隔离级别
Jul 26 MySQL
MySQL数据库必备之条件查询语句
Oct 15 MySQL
详细聊聊关于Mysql联合查询的那些事儿
Oct 24 MySQL
mysql insert 存在即不插入语法说明
Mar 25 MySQL
mysql中如何用命令创建联合唯一索引
Apr 20 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
Apr 26 MySQL
MySQL的prepare使用以及遇到的bug
May 11 MySQL
mysql函数之截取字符串的实现
Aug 14 MySQL
mysql序号rownum行号实现方式
Dec 24 MySQL
关于MySQL中explain工具的使用
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使用Pthread实现的多线程操作实例
2015/11/14 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
jquery实现数字输入框
2017/02/22 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
使用pip安装python库的多种方式
2019/07/31 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
聚美优品恶搞广告词
2014/03/14 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸