Интервалы SQL: пересечения, занятость и проверка дат
Задачи SQL на интервалы: некорректные границы, длительность, пересечения и максимальную занятость.
Состав подборки: 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.
Разберите маленький пример
Полуоткрытые интервалы [10:00, 11:00) и [11:00, 12:00) не пересекаются. Для такой модели пересечение есть, когда начало каждого интервала строго меньше конца другого. Если конечная граница включена, правила меняются — это должно быть явно задано.
На что обратить внимание
- Открытый конец NULL, пустой интервал и обратные границы требуют разных решений.
- При событиях в один момент согласуйте порядок начала и завершения с моделью границ.
- Уточните, нужна длительность всего интервала или только пересечения с отчётным окном: в упражнениях есть оба сценария.
- При объединении цепочки перекрытий нельзя всегда сравнивать только с концом непосредственно предыдущей строки.
Порядок практики
- SQL: Проверка интервалов действия — Некорректные границы версии — код.
- SQL: Функции дат и расчёт длительности в SQLite — Длительность подписок, пересекающих февраль — код.
- SQL: Подсчёт одновременно активных интервалов — Максимальное число занятых столов — код.
- SQL: Подсчёт одновременно активных интервалов — Пиковые окна работ и занятые слоты — код.
- SQL: Объединение перекрывающихся интервалов — Объединённая занятость внутри отчётного окна — код.
Куда двигаться дальше
Для последовательного освоения сложных запросов посмотрите платный курс «Продвинутый SQL».
- SQL: Проверка интервалов действия — Некорректные границы версии
Практика: Проверка интервалов действия. Некорректные границы версии. Самостоятельное условие и проверка решения на Latorn.
Продвинутый SQL: сложные запросы и задачи для собеседований - SQL: Функции дат и расчёт длительности в SQLite — Длительность подписок, пересекающих февраль
Практика: Функции дат и расчёт длительности в SQLite. Длительность подписок, пересекающих февраль. Самостоятельное условие и проверка решения на Latorn.
Продвинутый SQL: сложные запросы и задачи для собеседований - SQL: Подсчёт одновременно активных интервалов — Максимальное число занятых столов
Практика: Подсчёт одновременно активных интервалов. Максимальное число занятых столов. Самостоятельное условие и проверка решения на Latorn.
Продвинутый SQL: сложные запросы и задачи для собеседований - SQL: Подсчёт одновременно активных интервалов — Пиковые окна работ и занятые слоты
Практика: Подсчёт одновременно активных интервалов. Пиковые окна работ и занятые слоты. Самостоятельное условие и проверка решения на Latorn.
Продвинутый SQL: сложные запросы и задачи для собеседований - SQL: Объединение перекрывающихся интервалов — Объединённая занятость внутри отчётного окна
Практика: Объединение перекрывающихся интервалов. Объединённая занятость внутри отчётного окна. Самостоятельное условие и проверка решения на Latorn.
Продвинутый SQL: сложные запросы и задачи для собеседований
