日付範囲を持つテーブルがあり、その行間で重複する期間 (時間単位) の合計が必要です。
これはスキーマの例です:
create table period (
id int,
starttime datetime,
endtime datetime,
type varchar(64)
);
insert into period values (1,'2013-04-07 8:00','2013-04-07 13:00','Work');
insert into period values (2,'2013-04-07 14:00','2013-04-07 17:00','Work');
insert into period values (3,'2013-04-08 8:00','2013-04-08 13:00','Work');
insert into period values (4,'2013-04-08 14:00','2013-04-08 17:00','Work');
insert into period values (5,'2013-04-07 10:00','2013-04-07 11:00','Holyday'); /* 1h overlapping with 1*/
insert into period values (6,'2013-04-08 10:00','2013-04-08 20:00','Transfer'); /* 6h overlapping with 3 and 4*/
insert into period values (7,'2013-04-08 11:00','2013-04-08 12:00','Test'); /* 1h overlapping with 3 and 6*/
そしてそのフィドル:http://sqlfiddle.com/#!6/9ca31/10
8 時間の重複時間の合計が予想されます。
私はこれをチェックします: SQLで重複するdatetimeイベントを選択しますが、必要なことをしていないようです。
ありがとうございました。