У меня есть 3 стола Room, Hotel, City, как я могу выбрать одну комнату с минимальной ценой и ее hotel_id
для каждого города
price | hotel_id | city_id
10 | 1 | 1
13 | 4 | 2
44 | 7 | 3
...
SELECT MIN(price) price, hotel_id, city_id FROM (
SELECT MIN(room_price1) price, hotel_id, city_id
FROM Hotel
JOIN Room USING(hotel_id)
JOIN City USING(city_id)
LEFT JOIN Service_hotel_option USING (hotel_id)
WHERE room_price1 > 0
GROUP BY hotel_id
ORDER BY price ASC) t
GROUP BY city_id
ORDER by city_name, price
, но я не уверен.