Диапазоны даты и времени PHP/MYSQL перекрываются для пользователей

пожалуйста, мне нужна помощь с этим (для лучшего понимания см. прикрепленное изображение), потому что я совершенно беспомощен.

http://img16.imageshack.us/img16/7196/overlapsen.jpg

Как видите, у меня есть пользователи, и они хранят дату и время начала и окончания в моей БД в виде ГГГГ-мм-дд H:i:s. Теперь мне нужно узнать перекрытия для всех пользователей по наиболее частым перекрытиям временного диапазона (для большинства пользователей). Я хотел бы получить 3 наиболее часто встречающихся совпадения данных для большинства пользователей. Как мне это сделать?

Я понятия не имею, какой запрос mysql мне использовать, или, может быть, было бы лучше выбрать все даты и время (начало и конец) из базы данных и обработать их в php (но как?). Как указано на изображении, результаты должны быть, например, с 8:30 до 10:00 для пользователей A+B+C+D.

Table structure:
UserID | Start datetime | End datetime
--------------------------------------
A | 2012-04-03 4:00:00 | 2012-04-03 10:00:00
A | 2012-04-03 16:00:00 | 2012-04-03 20:00:00
B | 2012-04-03 8:30:00 | 2012-04-03 14:00:00
B | 2012-04-06 21:30:00 | 2012-04-06 23:00:00
C | 2012-04-03 12:00:00 | 2012-04-03 13:00:00
D | 2012-04-01 01:00:01 | 2012-04-05 12:00:59
E | 2012-04-03 8:30:00 | 2012-04-03 11:00:00
E | 2012-04-03 21:00:00 | 2012-04-03 23:00:00

8
задан Glorfindel 18 August 2019 в 21:09
поделиться