Как можно оптимизировать запрос?
with first_table as (
select user_id, room_id,
max(end_date) over (partition by room_id order by end_date desc) as end_date_room
from reservations re
),
second_table as (
select distinct roomid, enddate
from first_table
inner join
(select room_id as roomid, end_date_room as enddate
from first_table) t2
on t2.enddate=first_table.end_date_room
)
select roomid as room_id, name, enddate as end_date
from second_table
inner join
(select name, re.room_id, end_date
from users u
inner join Reservations re
on re.user_id=u.id
) t3
on t3.end_date=second_table.enddate
Это корректное решение задачи https: // sql-academy .org/ru/trainer/tasks/68 Синтаксис MySQL 8 версии
Как можно переписать код, чтобы его оптимизировать? Возможно стоит рекурсию сделать, но как?