Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Find Duplicate Sessions in Clickstream

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

Your question is Find Duplicate Sessions in Clickstream. 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

ScienceDirect clickstream data can contain duplicate sessions caused by retries, browser behavior, or instrumentation issues. Write a PostgreSQL query to identify sessions that appear duplicated for the same user, device, and browser.

Treat a later session as a likely duplicate when it has the same user_id, device_type, and browser, and starts within five minutes of an earlier session. Use a self-join and conditional aggregation.

Requirements

  1. Return the earlier session, user name, start time, number of later matching sessions, number of exact duplicates, and matching session IDs.
  2. Count an exact duplicate when the matching session has the same start timestamp and landing page.
  3. Include only sessions with at least one later match, ordered by the earlier session start time.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Elsevier platform user identifier
user_nameVARCHAR(100)Display name for the user
clickstream_sessions
ColumnTypeDescription
session_idPKINTUnique clickstream session identifier
user_idINTUser associated with the session
session_startTIMESTAMPTimestamp when the session began
device_typeVARCHAR(30)Device category used for the session
browserVARCHAR(40)Browser reported by the client
landing_pageVARCHAR(200)First page visited during the session
Tablesusersclickstream_sessions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results