Помогите решить 68 задание из sql-academy. org
Для каждой комнаты, которую снимали как минимум 1 раз, найдите имя человека, снимавшего ее последний раз, и дату, когда он выехал
SQL
Задание 68 - Sql-academy
with get_data as (
select room_id,
max(end_date) as end_date
from Reservations
group by room_id
having count(*) >= 1
)
select rs.room_id,
u.name,
rs.end_date
from Reservations as rs
join get_data as gd on gd.room_id = rs.room_id
and gd.end_date = rs.end_date
join users as u on u.id = rs.user_id
select room_id,
max(end_date) as end_date
from Reservations
group by room_id
having count(*) >= 1
)
select rs.room_id,
u.name,
rs.end_date
from Reservations as rs
join get_data as gd on gd.room_id = rs.room_id
and gd.end_date = rs.end_date
join users as u on u.id = rs.user_id
Александр Столяров
Спасибо, помогли)
SELECT a.room_id, name, a.end_date
FROM (SELECT room_id,
MAX(end_date ) AS end_date
FROM Reservations
GROUP BY room_id) AS a
JOIN Reservations
ON a.end_date = Reservations.end_date
AND a.room_id = Reservations.room_id
JOIN Users
ON Reservations.user_id = Users.id
FROM (SELECT room_id,
MAX(end_date ) AS end_date
FROM Reservations
GROUP BY room_id) AS a
JOIN Reservations
ON a.end_date = Reservations.end_date
AND a.room_id = Reservations.room_id
JOIN Users
ON Reservations.user_id = Users.id
WITH Table1 AS (
SELECT room_id,
MIN(TIMESTAMPDIFF(SECOND, end_date, NOW())) AS time
FROM Reservations
GROUP BY 1
)
SELECT Reservations.room_id,
name,
end_date
FROM Reservations
JOIN Table1 ON Reservations.room_id = Table1.room_id
JOIN Users ON user_id = Users.id
WHERE TIMESTAMPDIFF(SECOND, end_date, NOW()) = Table1.time
SELECT Reservations.room_id,
Users.name,
Reservations.end_date
FROM Reservations
JOIN Users ON Reservations.user_id = Users.id
WHERE (Reservations.room_id, Reservations.end_date) IN (
SELECT Reservations.room_id,
MAX(end_date)
FROM Reservations
JOIN Users ON Reservations.user_id = Users.id
GROUP BY Reservations.room_id
)
Похожие вопросы
- SQL-ex 41 задание. Не получается
- SQL. Выводятся не все данные. 4 задача.
- Чем отличаются разные SQL?
- Не очень понятен синтаксис запросов SQL
- Помогите написать sql запросы
- Вопрос по SQL + Python
- Что делает кусок коды, выделенный синим? SQL
- Подскажите, есть ли такое понятие чистый SQL???
- Microsoft SQL. Процедура вывода максимального количества товаров за определенную сумму
- Вопрос по SQL. Помогите понять решение задачи