根据小时的开始和结束获取两个给定日期之间的总和

时间:2018-07-12 00:15:52

标签: mysql date sum range between

我有两个datetime cols,分别代表工作开始和工作结束: field_dates_value field_dates_value2

我必须总结按月分组的白天工作时间和夜间工作时间。

复杂的事情是,对于我的商务夜来说,开始时间是20:00:00,然后结束时间是05:59:00。 如果某人的上班时间为18:00,结束时间为22:00,则结果是20:00之前的时间被视为白天工作,20:00之后的时间被视为夜间工作。 因此,在这种情况下,一天的工作时间为2个小时,晚上的工作时间为2:00。

在下面的示例中,我可以将按日期分组的2个日期和另一个列之间的时间戳加起来:

field_dates_value   2018-07-12 18:00:00   
field_dates_value2  2018-07-13 02:00:00


SELECT SUM( UNIX_TIMESTAMP( field_dates_value2 ) - UNIX_TIMESTAMP( field_dates_value ) ) AS total, bundle, DAY( field_dates_value ) AS day FROM  `bons_field_revision_field_dates` WHERE field_dates_value >  '2018-07-11 00:00:00' GROUP BY bundle, day ORDER BY day, bundle LIMIT 0 , 30

我的问题是我不知道如何在20:00之前和之后的2列间隔获取和。

任何想法如何实现这一目标?

非常感谢您的帮助

0 个答案:

没有答案