我来自哪里:
我有表“事件”、用户和 user_event。表事件存储事件开始和结束的日期时间。User_event 保存用户正在参加的事件的信息。现在,只需将所有事件持续时间相加即可轻松计算某个用户在事件中安排的时间总和。
但我需要一些不同的东西。假设现在是星期一,用户 A 参加上午 9 点到 10 点和下午 2 点到 3 点的活动。这些事件的总和是 2 小时。但我想计算用户参与这些事件的时间。在我的示例中,这是 6 小时(从上午 9 点到下午 3 点)。我在一天内实现了这一点(用户和给定日期的时间差为 max(event) 和 min(event)。
我想去的地方:
但是我找不到任务的解决方案来总结整个星期的存在。我需要将每天的所有存在总和相加。但是我不能使用一天给出的解决方案,因为 min() 和 max() 只会给我整个一周的唯一最小值和最大值,而不是一周中的每一天。
希望我描述得足够好。
谢谢!