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 query to find the top 3 most booked hotels in each city for the last 30 days.

Count booking records whose booking date falls within the 30-day period ending today. Include only hotels represented in the hotel table. If a city has fewer than three qualifying hotels, return all available hotels.

Output

  1. One row per qualifying hotel, with city, hotel_id, hotel_name, booking_count, and hotel_rank.
  2. Include the top three hotels per city, ordered by city, rank, and hotel ID. Break booking-count ties by the lower hotel_id.

Schema

hotels
ColumnTypeDescription
hotel_idPKINTUnique hotel identifier
hotel_nameVARCHAR(150)Hotel display name
cityVARCHAR(100)City where the hotel is located
bookings
ColumnTypeDescription
booking_idPKINTUnique booking identifier
hotel_idINTHotel associated with the booking
booked_atDATEDate on which the booking was made
Tableshotelsbookings
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.