Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Second Most Recent Marketplace Purchase

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

Your question is Second Most Recent Marketplace Purchase. Start with the requirements and the one table 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

Meta Marketplace wants to identify each customer's second most recent completed purchase. Write a SQL query to return one row per customer for their second most recent purchase.

Requirements

  1. Consider only rows where purchase_status = 'completed'.
  2. Rank purchases within each customer_id by purchase_date descending.
  3. If two purchases for the same customer have the same purchase_date, break ties using purchase_id descending.
  4. Return only customers who have at least two completed purchases.
  5. Output customer_id, customer_name, purchase_id, purchase_date, and amount.
  6. Order the final result by customer_id ascending.

Schema

marketplace_purchases
ColumnTypeDescription
purchase_idPKINTUnique purchase identifier
customer_idINTCustomer identifier
customer_nameVARCHAR(100)Customer full name
purchase_dateDATEDate the purchase was created
amountDECIMAL(10,2)Purchase amount
purchase_statusVARCHAR(20)Purchase status such as completed, refunded, or pending
Tablesmarketplace_purchases
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results