Soma da quantidade de intervalos de datetime sobrepostos no MySQL

Eu tenho uma tabela de eventos, cada um com um StartTime e EndTime (como tipo DateTime) em uma tabela MySQL.

Estou tentando produzir osoma dos tempos de sobreposição e o número de eventos que se sobrepõem.

Qual é a maneira mais eficiente / simples de executar essa consulta no MySQL?

CREATE TABLE IF NOT EXISTS `events` (
  `EventID` int(10) unsigned NOT NULL auto_increment,
  `StartTime` datetime NOT NULL,
  `EndTime` datetime default NULL,
  PRIMARY KEY  (`EventID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;


INSERT INTO `events` (`EventID`, `StartTime`, `EndTime`) VALUES
(10001, '2009-02-09 03:00:00', '2009-02-09 10:00:00'),
(10002, '2009-02-09 05:00:00', '2009-02-09 09:00:00'),
(10003, '2009-02-09 07:00:00', '2009-02-09 09:00:00');


# if the query was run using the data above,
# the table below would be the desired output

# Number of Overlapped Events | Total Amount of Time those events overlapped.
1, 03:00:00
2, 02:00:00
3, 02:00:00

O objetivo desses resultados é gerar uma fatura por horas utilizadas. (se você tiver um evento em execução, poderá pagar 10 dólares por hora. Mas, se dois eventos estiverem em andamento, você só terá que pagar 8 dólares por hora, mas apenas pelo período em que teve dois eventos em execução.)

questionAnswers(3)

yourAnswerToTheQuestion