Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top 3 Engaged Users by Month

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

Your question is Top 3 Engaged Users by Month. Start with the requirements and the two 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

Canva wants to identify its most engaged users in the Canva editor each month. Write a PostgreSQL query that ranks users by the number of qualifying engagement events.

Requirements

  1. Join users to editor events and group qualifying events by calendar month and user.
  2. Count only design_edit, comment, share, and export events. Exclude other event types and NULL event types.
  3. Return the top three users for each month, using user ID as the deterministic tie-breaker.
  4. Display the month as YYYY-MM, the user name, event count, and rank.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Canva user identifier
display_nameVARCHAR(100)User's display name
editor_events
ColumnTypeDescription
event_idPKINTUnique editor event identifier
user_idINTUser associated with the event
occurred_atTIMESTAMPTimestamp when the editor event occurred
event_typeVARCHAR(30)Type of editor activity
Tablesuserseditor_events
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results