当前位置:  开发笔记 > 后端 > 正文

MySQL填写给定状态的两个日期之间缺少日期

如何解决《MySQL填写给定状态的两个日期之间缺少日期》经验,为你挑选了0个好方法。

我有一个项目数据集.项目从头到尾更改状态,状态更改的日期记录在表中(表名为"events" - 不是我的选择).看起来像这样(简化):

Date        Status
2015-06-01  Start
2015-06-03  Stage 2
2015-06-07  Stage 3

在任何给定的日期范围内(动态确定),我希望能够看到哪些项目处于哪种状态.但是,对数据使用BETWEEN或其他查询只会提取那些在此期间状态发生变化的项目,而不是那些仍处于给定状态的项目.

我目前在Excel中创建了一个非常笨重的解决方案,它将行复制到状态更改日期之间的新行中,如下所示:

Date          Status  
2015-06-01    Project start
2015-06-02    Project start (copied)
2015-06-03    Stage 2 
2015-06-04    Stage 2 (copied)
2015-06-05    Stage 2 (copied)
2015-06-06    Stage 2 (copied)
2015-06-07    Stage 3

此解决方案允许我在2015-06-06上查询项目的状态,并查看它仍处于第2阶段.

有什么方法可以使用mySql来提取相同的数据,但作为输出查询?我听说有人建议使用Calendar表,但我不确定它是如何工作的.我也看到有人推荐一个Cross Join,但是再一次,我从描述中无法理解它是如何工作的.

在此先感谢您的帮助!

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有