Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Top Hotels Per City Query
00:00
5 left

Top Hotels Per City Query

MediumSQL · PostgreSQL

Problem

Write a SQL query to find the top 3 most reviewed hotels in each city by average rating.

Use the hotels and reviews tables. Include only hotels with at least one non-null rating.

Output

  1. One row per qualifying hotel, with city, hotel_id, hotel_name, review_count, average_rating, and city_rank.
  2. Return at most three hotels per city, ranked by average rating descending, then review count descending, then hotel ID ascending.
  3. Order the final results by city ascending and city rank ascending.

Schema

hotels
ColumnTypeDescription
hotel_idPKINTUnique hotel identifier
hotel_nameVARCHAR(150)Hotel name
cityVARCHAR(100)City where the hotel is located
reviews
ColumnTypeDescription
review_idPKINTUnique review identifier
hotel_idINTHotel being reviewed
ratingDECIMAL(2,1)Guest rating from 1.0 to 5.0
Tableshotelsreviews
Interviewer

Your question is Top Hotels Per City Query. Start with the requirements and the two tables in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.