2012-05-24 2 views
0

나는 mysql에서 초보자이며, 나는 어려운 문제를 겪는다.특정 기간에 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

MySQL Date Time Functions을 살펴보십시오. 특히, TIME_DIFF().

귀하의 경우 * booking_time * 항목에 TIME_DIFF()을 입력하십시오. room_id에 대해 GROUP BY과 결합하면 한 달에 각 방에 대해 쉽게 SUM() 수 있습니다.

나는이 대답이 이 아님을 알고 있습니다. 이러한 기능을 배우는 것이 좋습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 time_diff()를 시도해 본다. 각 예약의 방에 대한 지속 시간을 얻을 수있다. 나는 2 시간 슬롯을 가로 질러 각 시간주기를 계산하는 방법을 모른다. 9-11에서 예약처럼, 나는 9-10에 대해 1을 세고, 10-11에 대해 1을 계산해야합니다. 거기에 어떤 기능이 있습니까? – alan

+0

총'TIME_DIFF()'는 * total * 시차를 주어야합니다. 시간이 필요하다면 그것들을 추출해야합니다. 나는 HOUR() 함수가 있다고 믿는다. –

관련 문제