如何使用存储过程从多个数据输入返回两个日期之间的数据

多姆谢拉特

我们目前有一个表,每次点击字段时都会创建一个新记录(代表 RAG 状态)。当前,如果点击一旦存储的值将反映例如红色;如果他们再次点击它会将视觉效果更改为绿色,但会向表中写入新记录。

例如

Field1                 Red                     Time/Date
Field1                 Green                 Time/Date

我们需要考虑如何最好地报告,识别同一字段可能有多行(对人们可以循环的次数没有限制),以及“活动”值是什么。目前,这只能通过识别最新记录(按时间/日期)来辨别,但如果运行几天,这将使报告非常复杂,因为每天可能存在多少记录......

我们已经创建了一个语句(如下)但是希望数据显示在一列而不是一行中:

 select(select Value_Colour from  SOMT_Development.Board_Metrics_Data where Metric_Year = 2018 and Metric_Month = 3 and Metric_Day = 22 and Board_Metrics_ID = 1 order by Date_Created desc limit 1),
       (select Value_Colour from  SOMT_Development.Board_Metrics_Data where Metric_Year = 2018 and Metric_Month = 3 and Metric_Day = 23 and Board_Metrics_ID = 1 order by Date_Created desc limit 1),
       (select Value_Colour from  SOMT_Development.Board_Metrics_Data where Metric_Year = 2018 and Metric_Month = 3 and Metric_Day = 24 and Board_Metrics_ID = 1 order by Date_Created desc limit 1),
       (select Value_Colour from  SOMT_Development.Board_Metrics_Data where Metric_Year = 2018 and Metric_Month = 3 and Metric_Day = 25 and Board_Metrics_ID = 1 order by Date_Created desc limit 1),
       (select Value_Colour from  SOMT_Development.Board_Metrics_Data where Metric_Year = 2018 and Metric_Month = 3 and Metric_Day = 26 and Board_Metrics_ID = 1 order by Date_Created desc limit 1);

我们还需要它是两个日期之间的存储过程,以便我们可以轻松更改日期(例如 23/3/2018 - 29/3/2018)。

谢谢

戈登·利诺夫

您似乎想要给定指标的每天最后一条记录。您可以使用相关子查询执行此操作:

select bmd.*
from SOMT_Development.Board_Metrics_Data bmd
where bmd.Metric_Year = 2018 and Metric_Month = 3 and
      bmd.Metric_Day in (26, 27, 28) and bmd.Board_Metrics_ID = 1 and
      bmd.Date_Created = (select max(bmd2.Date_Created)
                          from SOMT_Development.Board_Metrics_Data bmd2
                          where bmd2.Board_Metrics_ID = bmd.Board_Metrics_ID and
                                bmd2.Metric_Year = bmd.Metric_Year and
                                bmd2.Metric_Month = bmd.Metric_Month and
                                bmd2.Metric_Day = bmd.Metric_Day
                         );

此子查询可以利用 上的索引Board_Metrics_Data(Metric_Year, Metric_Month, Metric_Day, Metrics_ID, Date_Created)

编辑:

对于任意范围的日期:

select bmd.*
from SOMT_Development.Board_Metrics_Data bmd
where bmd.Date_Created >= @start_date and bmd.Date_Created < @end_date and
      bmd.Board_Metrics_ID = 1 and
      bmd.Date_Created = (select max(bmd2.Date_Created)
                          from SOMT_Development.Board_Metrics_Data bmd2
                          where bmd2.Board_Metrics_ID = bmd.Board_Metrics_ID and
                                date(bmd2.Date_Created) = date(bmd.Date_Created)
                         );

这个版本的查询有点难以优化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回两个日期之间的数据

来自分类Dev

返回两个日期之间的数据

来自分类Dev

从MDX查询SSAS返回两个日期之间的数据

来自分类Dev

尝试根据用户输入使用ajax和php在两个日期之间加载数据

来自分类Dev

从另一个数据帧的两个日期之间发生的一个数据帧返回峰值

来自分类Dev

如何在两个日期之间查找数据

来自分类Dev

如何在两个日期之间查找数据

来自分类Dev

来自另一个数据集的两个日期的语句之间的熊猫

来自分类Dev

'没有匹配的返回类型'; 使用带有两个变量存储过程的数据实体创建 wcf 服务

来自分类Dev

如何使用Sqlite数据库在Java中的两个日期之间进行搜索

来自分类Dev

如何使用WHERE子句查询两个日期范围之间的数据?-SQL

来自分类Dev

如何使用Cloud FireStore查询两个日期范围之间的数据?

来自分类Dev

如何使用雄辩的Laravel过滤两个日期之间的数据?

来自分类Dev

如何使用Datepicker C#在两个日期范围之间选择数据

来自分类Dev

如何使用mongodb聚合框架比较两个日期之间的分组数据

来自分类Dev

如何使用codeigniter活动记录编写查询以获取两个日期之间的行数据?

来自分类Dev

比较SQL Server中两个不同数据库中两个存储过程之间的代码

来自分类Dev

如何合并两个数据而不丢失两个日期

来自分类Dev

防止两个滑块之间的数据重叠 - 对两个数量使用单个滑块

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

将两个或多个数据绑定到VueJ中的表单输入

来自分类Dev

如何在一个数据库中删除多个存储过程

来自分类Dev

如何在MYSQL中的两个日期(从日期,到日期)表之间获取数据?

来自分类Dev

当两个熊猫数据帧包含相同的行但一个数据帧包含多个行时,查找两个熊猫数据帧之间的差异

来自分类Dev

如何从两个数据帧返回更大的数据帧

来自分类Dev

使用 Pandas 比较两个数据帧以返回一个新的数据帧 - Python

来自分类Dev

如何使用一组数据为MySQL中的每个ID在两个日期之间生成日期列表

来自分类Dev

获取日期格式未知的两个日期之间的数据

Related 相关文章

  1. 1

    返回两个日期之间的数据

  2. 2

    返回两个日期之间的数据

  3. 3

    从MDX查询SSAS返回两个日期之间的数据

  4. 4

    尝试根据用户输入使用ajax和php在两个日期之间加载数据

  5. 5

    从另一个数据帧的两个日期之间发生的一个数据帧返回峰值

  6. 6

    如何在两个日期之间查找数据

  7. 7

    如何在两个日期之间查找数据

  8. 8

    来自另一个数据集的两个日期的语句之间的熊猫

  9. 9

    '没有匹配的返回类型'; 使用带有两个变量存储过程的数据实体创建 wcf 服务

  10. 10

    如何使用Sqlite数据库在Java中的两个日期之间进行搜索

  11. 11

    如何使用WHERE子句查询两个日期范围之间的数据?-SQL

  12. 12

    如何使用Cloud FireStore查询两个日期范围之间的数据?

  13. 13

    如何使用雄辩的Laravel过滤两个日期之间的数据?

  14. 14

    如何使用Datepicker C#在两个日期范围之间选择数据

  15. 15

    如何使用mongodb聚合框架比较两个日期之间的分组数据

  16. 16

    如何使用codeigniter活动记录编写查询以获取两个日期之间的行数据?

  17. 17

    比较SQL Server中两个不同数据库中两个存储过程之间的代码

  18. 18

    如何合并两个数据而不丢失两个日期

  19. 19

    防止两个滑块之间的数据重叠 - 对两个数量使用单个滑块

  20. 20

    熊猫中两个数据框之间的匹配日期

  21. 21

    熊猫中两个数据框之间的匹配日期

  22. 22

    将两个或多个数据绑定到VueJ中的表单输入

  23. 23

    如何在一个数据库中删除多个存储过程

  24. 24

    如何在MYSQL中的两个日期(从日期,到日期)表之间获取数据?

  25. 25

    当两个熊猫数据帧包含相同的行但一个数据帧包含多个行时,查找两个熊猫数据帧之间的差异

  26. 26

    如何从两个数据帧返回更大的数据帧

  27. 27

    使用 Pandas 比较两个数据帧以返回一个新的数据帧 - Python

  28. 28

    如何使用一组数据为MySQL中的每个ID在两个日期之间生成日期列表

  29. 29

    获取日期格式未知的两个日期之间的数据

热门标签

归档