Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

User Ride Trends with Windows

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is User Ride Trends with Windows. Start with the requirements and the three tables on the right.

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.

Problem

RideFlow wants to analyze how rider activity changes month over month. Write a PostgreSQL query to calculate user-level ride trends over time using window functions.

Requirements

  1. Return one row per user per month for completed rides only.
  2. For each user-month, calculate:
    • total completed rides
    • total completed fare
    • previous month's completed ride count
    • month-over-month change in completed rides
    • a trend label: growing, declining, or flat
  3. Include users even if they have no matching city record.
  4. Order the final output by user_id and month.

Schema

users
ColumnTypeDescription
user_idPKINTUnique rider identifier
user_nameVARCHAR(100)Rider full name
signup_dateDATEDate the rider signed up
city_idINTHome city reference
cities
ColumnTypeDescription
city_idPKINTUnique city identifier
city_nameVARCHAR(100)City name
rides
ColumnTypeDescription
ride_idPKINTUnique ride identifier
user_idINTRider who took the trip
ride_dateDATEDate of the ride
statusVARCHAR(20)Ride status such as completed or cancelled
fare_amountNUMERIC(10,2)Fare charged for the ride
Tablesuserscitiesrides
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results