Write a SQL query to rank hotels by guest satisfaction score within each region and return the top 3 per region.
Use the provided hotel, region, and guest review data. Guest satisfaction is the average non-null review score for each hotel. Hotels without a valid score should be excluded. Ties share the same rank, so a region may return more than three hotels.
Output
- One row per qualifying hotel, with
region_name, hotel_name, guest_satisfaction_score, and satisfaction_rank
- Include only hotels ranked 1 through 3 within their region
- Order by
region_name, satisfaction_rank, then hotel_name