如何选择给定日期段的最小开始时间和最大结束时间之间的时差?

用户名

我有一个简单的问题,但是我很难尝试制定适当的SQL查询来完成此任务。我有一张桌子有多个日期。每个日期都有多次。时间以开始-结束增量为单位,由用户手动添加。

+----+------------------+------------------+
| id | start            | end              |
+----+------------------+------------------+
|  6 | 2014/03/03 08:30 | 2014/03/03 09:00 |
|  7 | 2014/03/03 09:00 | 2014/03/03 11:15 |
|  8 | 2014/03/03 11:15 | 2014/03/03 11:45 |
|  9 | 2014/03/03 11:45 | 2014/03/03 12:45 |
| 10 | 2014/03/03 12:45 | 2014/03/03 13:15 |
| 11 | 2014/03/04 08:45 | 2014/03/04 09:00 |
| 12 | 2014/03/04 09:00 | 2014/03/04 13:00 |
| 13 | 2014/03/04 13:00 | 2014/03/04 13:30 |
| 14 | 2014/03/05 09:00 | 2014/03/05 09:30 |
| 15 | 2014/03/05 09:30 | 2014/03/05 12:30 |
| 16 | 2014/03/05 12:45 | 2014/03/05 12:45 |
| 19 | 2014/03/06 08:45 | 2014/03/06 09:00 |
| 20 | 2014/03/06 09:15 | 2014/03/06 10:00 |

我正在尝试计算每个日期最早的开始时间和最晚的结束时间之间的小时差。

目前,我只是unix_timestamp在行上使用简单的转换,但是,它只是计算找到的第一行之间的差,而不是计算给定日期的所有行的差。

select
    unix_timestamp(min(start)) - unix_timestamp(max(end)) / 60.0 / 60.0 as hours_difference,
    min(start) as started,
    min(end) as ended              
from
    athlete_log
group by
    day(start)

问题(如上所述)是它仅从给定日期获取第一行,例如:

| 6 | 2014/03/03 08:30 | 2014/03/03 09:00 |

但是我需要最早的开始时间和最晚的开始时间来自:

|  6 | 2014/03/03 08:30 | 2014/03/03 09:00 |
|  7 | 2014/03/03 09:00 | 2014/03/03 11:15 |
|  8 | 2014/03/03 11:15 | 2014/03/03 11:45 |
|  9 | 2014/03/03 11:45 | 2014/03/03 12:45 |
| 10 | 2014/03/03 12:45 | 2014/03/03 13:15 |

哪个应该产生:

2014/03/03 8:30 - start
2014/03/03 13:15 - end
5.45 - hours_difference

但是当然这只是选择

2014/03/03 8:30 - start
2014/03/03 9:00 - end
.30 - hours_difference

如何修改查询以从给定日期选择最小开始和最大结束?

马克·B

您已对进行分组DAY(),这可能是不正确的。您只显示2014年3月的数据,但是如果您的数据库实际具有的月份/年份的数据不止于此,则您将对togher 2014/03 / 03、2014 / 02 / 03、2013 / 02/03等进行分组..(不同的年/月,同一天)

您应该这样做GROUP BY DATE(start),因此可以对完整YYYY-MM-DD日期值进行分组

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用非事件的开始时间和结束时间填充第二行

来自分类Dev

Vb.net-日期:如何获取一天的开始时间和结束时间

来自分类Dev

计算给定结束时间(datetime2)和持续时间(time(7))的开始时间

来自分类Dev

使用开始时间和结束时间之间的时间过滤数组或XML

来自分类Dev

选择选项验证开始时间和结束时间

来自分类Dev

如何从日期时间字段SQLServer获取开始时间和结束时间

来自分类Dev

如何从日期时间字段SQLServer获取开始时间和结束时间

来自分类Dev

如何在Android中比较开始时间和结束时间?

来自分类Dev

angularjs计算开始时间和当前时间之间的时差

来自分类Dev

如何找出给定日期,开始和结束时间可用的所有持续时间:java

来自分类Dev

在开始时间和结束时间之间每小时计数

来自分类Dev

将日期间隔按其开始时间和结束时间进行分组

来自分类Dev

如何获得期间的开始时间和结束时间?

来自分类Dev

Django查询:如何从开始时间和结束时间字段中找到最大持续时间?

来自分类Dev

如何在表格内开始时间和结束时间之间的剩余时间创建实时倒数效果?

来自分类Dev

C#Linq-根据开始时间和结束时间的时差分组

来自分类Dev

PostgreSQL-在今天的开始时间和结束时间之间选择查询

来自分类Dev

仅选择开始和结束时间与日期之间的记录

来自分类Dev

Vb.net-日期:如何获取一天的开始时间和结束时间

来自分类Dev

Dygraph选择的开始和结束时间

来自分类Dev

使用开始时间和结束时间之间的时间筛选数组或XML

来自分类Dev

限制Jquery动态时间选择器中的开始时间和结束时间

来自分类Dev

选择开始时间和结束时间之间的小时数会发出警报,而不管选择什么

来自分类Dev

Rails检查多个日期范围的开始时间和结束时间

来自分类Dev

在开始时间和结束时间之间每小时计数

来自分类Dev

安排具有固定开始时间和结束时间的最大任务数

来自分类Dev

获取视频的开始时间和结束时间

来自分类Dev

使用php打印开始时间和结束时间之间的时间间隔

来自分类Dev

如何动态获取多个开始和结束时间的时差

Related 相关文章

  1. 1

    如何用非事件的开始时间和结束时间填充第二行

  2. 2

    Vb.net-日期:如何获取一天的开始时间和结束时间

  3. 3

    计算给定结束时间(datetime2)和持续时间(time(7))的开始时间

  4. 4

    使用开始时间和结束时间之间的时间过滤数组或XML

  5. 5

    选择选项验证开始时间和结束时间

  6. 6

    如何从日期时间字段SQLServer获取开始时间和结束时间

  7. 7

    如何从日期时间字段SQLServer获取开始时间和结束时间

  8. 8

    如何在Android中比较开始时间和结束时间?

  9. 9

    angularjs计算开始时间和当前时间之间的时差

  10. 10

    如何找出给定日期,开始和结束时间可用的所有持续时间:java

  11. 11

    在开始时间和结束时间之间每小时计数

  12. 12

    将日期间隔按其开始时间和结束时间进行分组

  13. 13

    如何获得期间的开始时间和结束时间?

  14. 14

    Django查询:如何从开始时间和结束时间字段中找到最大持续时间?

  15. 15

    如何在表格内开始时间和结束时间之间的剩余时间创建实时倒数效果?

  16. 16

    C#Linq-根据开始时间和结束时间的时差分组

  17. 17

    PostgreSQL-在今天的开始时间和结束时间之间选择查询

  18. 18

    仅选择开始和结束时间与日期之间的记录

  19. 19

    Vb.net-日期:如何获取一天的开始时间和结束时间

  20. 20

    Dygraph选择的开始和结束时间

  21. 21

    使用开始时间和结束时间之间的时间筛选数组或XML

  22. 22

    限制Jquery动态时间选择器中的开始时间和结束时间

  23. 23

    选择开始时间和结束时间之间的小时数会发出警报,而不管选择什么

  24. 24

    Rails检查多个日期范围的开始时间和结束时间

  25. 25

    在开始时间和结束时间之间每小时计数

  26. 26

    安排具有固定开始时间和结束时间的最大任务数

  27. 27

    获取视频的开始时间和结束时间

  28. 28

    使用php打印开始时间和结束时间之间的时间间隔

  29. 29

    如何动态获取多个开始和结束时间的时差

热门标签

归档