Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Consecutive Activity Using Lead Lag

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

Your question is Consecutive Activity Using Lead Lag. 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

Publicis Groupe analysts need to identify consecutive days of activity across a digital platform. Write a PostgreSQL query that removes duplicate same-day interactions, uses LAG and LEAD to compare adjacent activity dates, and returns every activity day that belongs to a consecutive-day sequence.

Requirements

  1. Treat multiple interactions by the same user on the same calendar day as one activity day.
  2. Exclude rows where interaction_timestamp is NULL.
  3. Use LAG and LEAD partitioned by user to identify activity days adjacent to another activity day.
  4. Return the user, activity date, previous activity date, and next activity date, ordered by user and date.

Schema

users
ColumnTypeDescription
user_idPKINTUnique user identifier
full_nameVARCHAR(100)User's full name
platformVARCHAR(50)Publicis Groupe platform used by the user
user_interactions
ColumnTypeDescription
interaction_idPKINTUnique interaction identifier
user_idINTUser associated with the interaction
interaction_timestampTIMESTAMPTimestamp when the interaction occurred
Tablesusersuser_interactions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results