Привет! Нужен sql-запрос, детали ниже
Основные данные: у нас есть таблица с информацией о доступности квартир (во вложении), где каждая запись представляет собой информацию о том, доступна ли квартира на определенную дату. Данные обновляются регулярно.
Задача:
1. вычислять количество бронирований, сделанных в каждый из прошедших дней
2. вычислять количество отмен, сделанных в каждый из прошедших дней
3. вычислять среднюю глубину бронирования в каждый из прошедших дней (например, если сегодня 28 января, а бронь сделана на 30 января, то глубина бронирования 2 дня)
То есть по сути нужно брать слепок одного дня, сравнивать его с предыдущим и высчитывать разницы.
Нюанс – длинные бронирования: нам необходимо исключить из выборки такие бронирования, которые занимают длительный период (например, бронирования на срок 21 день и более). Это важно, потому что если квартира недоступна сразу на такой длинный срок, это может означать, что собственник сам закрыл эти даты. Такие данные не должны учитываться как реальные отмены или бронирования.
По итогу должно выглядеть примерно так
дата | количество бронирований | количество отмен | средняя глубина (дней)
26.01.2025 | 5 | 1 | 3
27.01.2025 | 8 | 2 | 4
и так далее.