我有两个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列间隔获取和。
任何想法如何实现这一目标?
非常感谢您的帮助