我有一些看起来像这样的期间数据:

PName DtFrom DtTo Amount

Period_1 2018-01-01 2018-01-10 100

Period_2 2018-01-03 2018-01-08 10

Period_3 2018-01-05 2018-01-12 1

我想获得以下时间序列,添加每个时期的日期框架内的金额:

2018-01-01 100

2018-01-02 100

2018-01-03 110

2018-01-04 110

2018-01-05 111

2018-01-06 111

2018-01-07 111

2018-01-08 111

2018-01-09 101

2018-01-10 101

2018-01-11 1

2018-01-12 1

我使用DATE_ADD,DATEDIFF等进行了大量研究,也使用了其他StackOverflow问题.但没有成功.任何的想法?

解决方法:

虽然我真的主张在应用程序代码中处理这个,但这是一个使用一个小整数实用程序表的解决方案.您可以使用日历表,或者即时构建一个整数序列…

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table

(Perid SERIAL PRIMARY KEY

,DtFrom DATE NOT NULL

,DtTo DATE NOT NULL

,Amount INT NOT NULL

);

INSERT INTO my_table VALUES

(1,'2018-01-01','2018-01-10',100),

(2,'2018-01-03','2018-01-08',10),

(3,'2018-01-05','2018-01-12',1);

SELECT * FROM ints;

+---+

| i |

+---+

| 0 |

| 1 |

| 2 |

| 3 |

| 4 |

| 5 |

| 6 |

| 7 |

| 8 |

| 9 |

+---+

SELECT dtfrom + INTERVAL y.i DAY dt

, SUM(x.amount) total

FROM my_table x

JOIN ints y

WHERE dtfrom + INTERVAL y.i DAY <= dtto

GROUP

BY dt;

+------------+-------+

| dt | total |

+------------+-------+

| 2018-01-01 | 100 |

| 2018-01-02 | 100 |

| 2018-01-03 | 110 |

| 2018-01-04 | 110 |

| 2018-01-05 | 111 |

| 2018-01-06 | 111 |

| 2018-01-07 | 111 |

| 2018-01-08 | 111 |

| 2018-01-09 | 101 |

| 2018-01-10 | 101 |

| 2018-01-11 | 1 |

| 2018-01-12 | 1 |

+------------+-------+

如果dtfrom和dtto之间的差距可能超过10天,您可以按照以下方式扩展解决方案……

SELECT dtfrom + INTERVAL i2.i*10 + i1.i DAY dt

, SUM(x.amount) total

FROM my_table x

JOIN ints i1

JOIN ints i2

WHERE dtfrom + INTERVAL i2.i*10 + i1.i DAY <= dtto

GROUP

BY dt;

标签:mysql

来源: https://codeday.me/bug/20190705/1389065.html

mysql 时间序列可视化工具_mysql – 从from到to条目创建时间序列相关推荐

  1. mysql的可视化工具使用推荐

    在开发,测试过程中,有些人喜欢用命令行操作,有些喜欢用可视化工具操作.都各自有各自的有点 下面推荐一个mysql的可视化化工具.workbench.这个工具能很好的对mysql库进行操作 首先去下载w ...

  2. mysql 存储过程加密工具_MySQL存储过程调试工具-dbForge Studio for MySQL

    对于某些存储过程很多且复杂的SQL的应用,在短时间内要使得所有MySQL存储过程和函数正常运行,那么如果能找到一个比较好的调试工具,就可以事半功倍, 这里介绍的是dbForge Studio for ...

  3. mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置

    mysql物理备份工具Xtrabackup安装配置 1Xtrabackup工具介绍 Xtrabackup是一个对InnoDB做物理数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具 ...

  4. mysql 高可用工具_MySQL Utilities 高可用工具体验

    MySQL Utilities 高可用工具体验 MySQL Utilities是MySQL官方的工具集,其中包括高可用相关的几个工具. 以下是对当前最新版本1.6的使用体验. 前提条件 MySQL S ...

  5. mysql事物日志工具_MySQL——常用工具和日志

    一.MySql中常用工具 1.1.mysql 该mysql不是指mysql服务,而是指mysql的客户端工具. 语法 : mysql [options] [database] 连接选项 参数 : -u ...

  6. mysql数据库备份工具_MySQL数据库备份工具和六种方法介绍

    关于Mysql备份数据库的方法,烈火网小编总结了目前所有的备份方式,有以下几种:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTO OUTFILE,又或者 ...

  7. mysql 索引分析工具_Mysql:性能分析以及Explain工具的使用

    ---恢复内容开始--- 1.介绍 Explain工具是用来分析sql语句性能的工具,他会显示出Mysql内部解析语句的状况 使用方法: explain+sql语句 例如 2.字段分析 一.ID字段 ...

  8. mysql 主从同步 工具_mysql主从同步工具maatkit安装

    Maatkit是非常不错的mysql管理工具,网络评价非常不错.包含以下主要工具: 1.mk-table-checksum 检查主从表是否一致的有效工具 2.mk-table-sync 有效保证表一致 ...

  9. mysql 带宽测试工具_MySQL自带的性能压力测试工具mysqlslap详解

    使用语法如下: # MySQLslap [options] 常用参数 [options] 详细说明: --auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具 ...

最新文章

  1. 华为P30Pro国外采用4根天线设计,为何国内却只有2根?
  2. 根据key删除Map集合中的key-value映射
  3. java学习:理解abstract
  4. boost::safe_numerics模块实现检测到错误表达式评估的测试程序
  5. 年度榜单:2013年最流行的15款免费英文字体
  6. APP长期处于后台手机打开多个APP后进程被杀
  7. java ThreadLocal理解和使用
  8. 原型 / 构造函数 / 实例/原型链
  9. 基于Nodejs的前端灰度发布方案_20190228
  10. Java课程设计——学生成绩管理系统
  11. win10删除自定义的背景图片历史记录
  12. ASP编程操作Excel(提高版)
  13. Android MediaCodec 解码H264/H265码流视频
  14. 概要设计说明书【校园BBS论坛】2022-5.5
  15. 线程启动、结束,创建线程多法、join,detach
  16. (Research)泛癌单细胞分析揭示肿瘤微环境中癌相关成纤维细胞的异质性和可塑性
  17. 美国国立卫生研究院利用AI自动检测肺部异常,突破数据收集瓶颈
  18. nodejs websocket 实现简易聊天室功能
  19. vue项目ide(vue项目环境搭建)
  20. Shiro安全(四):Shiro权限绕过之Shiro-782

热门文章

  1. php判断访问的当前设备是手机还是电脑
  2. java 判断date为空_java – 如何检查JSONArray元素是否为空
  3. c语言程序设计省考是什么,省考C语言程序设计题附答案..doc
  4. 上海找python工作容易吗_Python 在上海什么程度才能找到工作?
  5. c语言switch结构计算利润,求助。。关于用switch编写简易计算器
  6. java设计模式观察者模式_java设计模式--观察者模式
  7. 如何二值图转化为灰度图_AAAI 2020 | 时序转化为图用于可解释可推理异常检测
  8. java rest httpclient_Httpclient与RestTemplate的比较(比httpClient更优雅的Restful URL访问)...
  9. 计算机彻底删除删除后如何恢复,如何完全恢复从计算机删除的文件?
  10. oracle下定时删除归档脚本