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 相关文章推荐
left join、inner join、right join的区别
Apr 05 MySQL
MySQL Router的安装部署
Apr 24 MySQL
MySQL下使用Inplace和Online方式创建索引的教程
May 26 MySQL
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 MySQL
一文带你探究MySQL中的NULL
Nov 11 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
CentOS MySql8 远程连接实战
Apr 19 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
Apr 29 MySQL
Mysql InnoDB 的内存逻辑架构
May 06 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
MySQL数据库之存储过程 procedure
Jun 16 MySQL
一文解答什么是MySQL的回表
Aug 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
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
Vue实现简单的拖拽效果
2020/08/25 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
Python list和str互转的实现示例
2020/11/16 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
巴基斯坦购物网站:Goto
2019/03/11 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
后备干部考察材料
2014/02/12 职场文书
主要负责人任命书
2014/06/06 职场文书
校园开放日新闻稿
2015/07/17 职场文书
地震捐款简报
2015/07/21 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android