Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Top Users by Monthly Purchases
00:00
5 left

Top Users by Monthly Purchases

MediumSQL · PostgreSQL

Problem

Write a SQL query to find the top 5 users by total number of purchases in each month.

Use the users and purchases tables. Include only users with matching purchase records. If users tie on purchase count, order the tied users by user_id ascending.

Output

  1. One row per included user and month, with columns purchase_month, user_id, and purchase_count.
  2. Return no more than five users per month.
  3. Order by purchase_month ascending, purchase_count descending, and user_id ascending.

Schema

users
ColumnTypeDescription
user_idPKINTUnique user identifier
usernameVARCHAR(100)User display name
purchases
ColumnTypeDescription
purchase_idPKINTUnique purchase identifier
user_idINTUser who made the purchase
purchased_atTIMESTAMPTimestamp when the purchase occurred
Tablesuserspurchases
Interviewer

Your question is Top Users by Monthly Purchases. 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.