Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
SQL for Most Active Users
00:00
5 left

SQL for Most Active Users

MediumSQL · PostgreSQL

Problem

Write a query to identify our most active users over the last 30 days on Quizlet.

Treat each row in activity_events as one activity. Use the last 30 calendar days, including today, and return users with the three highest activity ranks. Users tied on activity count share a rank.

Output

  1. One row per qualifying user with activity_rank, user_id, username, activity_count, and active_days.
  2. Sort by activity_rank, then activity_count descending, then user_id ascending.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Quizlet user identifier
usernameVARCHAR(100)Quizlet username
activity_events
ColumnTypeDescription
event_idPKINTUnique activity event identifier
user_idINTUser who generated the activity event
event_typeVARCHAR(50)Type of Quizlet activity
occurred_atTIMESTAMPTZTimestamp when the activity occurred
Tablesusersactivity_events
Interviewer

Your question is SQL for Most Active Users. 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.