mysql在特定时间段内计数

时间:2012-05-24 15:10:31

标签: mysql report

我是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小时。

我真的很挣扎。

您的回复非常感谢。

非常感谢。

1 个答案:

答案 0 :(得分:0)

看看MySQL Date Time Functions。特别是TIME_DIFF()

在您的情况下,为您的* booking_time *列执行TIME_DIFF()。结合GROUP BY room_id,您可以在一个月内为每个房间轻松SUM()

我认识到这个答案不是全面的。我鼓励你学习这些功能。