подсчёт пересечения временных отрезков

Лысый

Новичок
подсчёт пересечения временных отрезков

добрый день
есть таблица
id (int) start(date) end(date)

стоит задача вычисления максимального числа наложений подобного рода отрезков за некторый перид времени дата1 дата2

решение в лоб
для каждого дня между дата1 дата2 делать count покрывающих этот день отрезков, а затем уже в ПХП выбрать из них максимум

вопрос
есть ли решение рациональнее?
 

bakh

Абалдуй
Лысый Не очень понял... Ты хочешь задать некий промежуток времени и найти те "отрезки" в своей БД, у которых либо начало, либо конец, либо оба входят в него?..
Или таки ты желаешь задать некую "точку" во времени и найти те "отрезки", которым она принадлежит?..
 

Лысый

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

я могу счиать кол-во пересечений ежеденвно, но это как то тупо в лоб
 

SaNeK

Новичок
1. Есть таблица, в ней строки, в которых выставлен период.
2. Есть период в переменной.
3. Хочешь выбрать все строки, период которых попадает (или содержит?) период в переменной.
4. Хочешь получить пары кол-во_пересечений => период, и отсортировать по кол-ву_пересечений.

Правильно?

-~{}~ 31.01.07 22:50:

а может п.4 выглядит так?
4. Хочешь получить из строк, полученных в п.3., строку, у которой максимальный период/id?
 

Лысый

Новичок
пары не нужны
максимум отрезков тоже
периода в переменной нет, вообще не понял что за период

смотрите
в каждый момент времени (день. раз работаем только с датой) есть записи, start которых раньше сего дня и end позже сего дня.
и таких несколько.
значит, в сей день эти отрезки пересеклись.
допустим таких сегодня 4
завтра 5
а вчера было 2

занчит максимум пересечений на промежутке вчера-завтра = 5 и он имеет место быть завтра

вот дословно так я и могу решить эту задачу
но это значит, что на период из Х дней у меня уйдёт Х селектов

я пытаюсь придумать более рациональное решение
 
Сверху