SQL: Подсчёт одновременно активных интервалов — Максимальное число занятых столов
Практическая задача по SQL на тему «Подсчёт одновременно активных интервалов». В условии приведены схема таблиц, ограничения данных, имена столбцов результата и порядок сортировки. Напишите один SELECT или WITH-запрос для SQLite. Перед проверкой продумайте пустой результат, повторяющиеся строки и границы диапазонов, если они встречаются в условии. Проверяется результат запроса, поэтому допустима эквивалентная реализация. Сначала решите задачу самостоятельно; продолжение практики доступно в полном курсе продвинутого SQL.
Максимальное число занятых столов
Что уже дано
Таблица desk_rentals(rental_id INTEGER PRIMARY KEY, start_time TEXT NOT NULL, end_time TEXT NOT NULL). До 500 аренд, ID положительные. UTC-время YYYY-MM-DD HH:MM:SS в 2024 году; start_time < end_time. Интервал занятости полуоткрытый, разные ID — самостоятельные аренды, даже если границы совпадают.
Что нужно сделать
Найдите максимальное число одновременно арендованных столов на промежутке положительной длительности. Момент завершения аренды не занят; одновременно начавшиеся и завершившиеся аренды не создают мгновенного пика.
Ввод и вывод
Отправьте один SELECT или WITH-запрос; stdin и печать не используются. Ровно 1 столбцов в указанном порядке и с этими именами: max_active_desks. max_active_desks — INTEGER без NULL. Сортировка: единственная строка. Если аренд нет, результат пустой, а не одна строка с NULL. В тестовых результатах разделитель |, NULL — пустое поле. Допускается любой эквивалентный запрос.
Пример
- Подготовка данных
INSERT INTO desk_rentals VALUES (1,'2024-06-01 10:00:00','2024-06-01 12:00:00'),(2,'2024-06-01 12:00:00','2024-06-01 14:00:00');
- Вывод
1
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- SQL: Подсчёт одновременно активных интервалов — Пиковые окна работ и занятые слоты
- SQL: Агрегация, оконные вычисления и фильтрация — Категории-лидеры и доля в продажах
- SQL: SELF JOIN и поиск уникальных пар — Пары с несколькими общими проектами
- SQL: Календарная таблица и пропущенные даты — Непрерывный отчёт о звонках
- SQL: Объединение перекрывающихся интервалов — Объединённая занятость внутри отчётного окна
- SQL: EXPLAIN QUERY PLAN в SQLite — Сводка ошибок и их доля по сервисам
