我是mysql的新手,我遇到了一个棘手的问题。
我有一张存放一些房间预订信息的表
room_id
booking_start_time
booking_end_time
例如
room_id | booking_start_time | booking_end_time<br>
1 | 2012-01-01 09:00 | 2012-01-01 11:00
1 | 2012-01-02 09:00 | 2012-01-02 10:00
1 | 2012-01-03 08:00 | 2012-01-03 10:00
2 | 2012-01-01 08:00 | 2012-01-01 10:00
3 | 2012-01-01 08:00 | 2012-01-01 09:00
我必须做一份报告,提取一个月内房间的使用情况,即在特定时间段内使用的小时数 格式如下
room 1| room 2
09:00 -10:00|
10:00 -11:00|
我的问题是,如果预订时间是从9:00到11:00之间的几个小时,如何计算记录,但我必须在09:00到10:00期间标记1小时在10:00到11:00期间再过1小时。
我真的很挣扎。
您的回复非常感谢。
非常感谢。
答案 0 :(得分:0)
看看MySQL Date Time Functions。特别是TIME_DIFF()
。
在您的情况下,为您的* booking_time *列执行TIME_DIFF()
。结合GROUP BY
room_id
,您可以在一个月内为每个房间轻松SUM()
。
我认识到这个答案不是全面的。我鼓励你学习这些功能。