mysql 查询到 return 具有某列 MAX 值的记录

mysql query to return the record that has the MAX value of a column

我目前拥有以此数据库模式表示的数据库。

数据库架构

这里我想要一个查询来获取给定目的地中具有最高评级值的住宿名称,该住宿名称的房间 ID 的人均价格值小于给定值。

评分样本数据table

示例:我想获取位于纽约且评分值最高的酒店名称,该酒店的房间人均价格低于 50 美元。 Sample rating table

我没有测试过,但下面的查询应该有效:

select ac.name as hotel
from accomodation ac
inner join room r
on r.accomodation_id = ac.accomodation_id
inner join rating ra
on ra.rating_id = ac.rating_id
where 
ac.destination_id in (select destination_id from destination where name = 'New York')
and 
r.room_id in (select room_id from room where price_per_head < 50)
order by ra.value desc
limit 1;