Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Second Most Recent Marketplace Purchase

Hard
HardSQL & Data ManipulationAsked 1 times

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
Practicing as: Data Engineer interview at Meta

Hi, I'll play your Meta interviewer for the Data Engineer role. Candidates describe these interviews as mostly positive and moderately difficult, so expect me to be friendly and conversational. Take your time with the question above and answer like we're in the room.

Take this as a live interview session →

You are practicing as a guest. Sign up free to run your code against the sample data. Your draft stays right here.

Sign up freeI have an account
SELECT ...
FROM ...
JOIN ... ON ...
GROUP BY ...
HAVING ...
ORDER BY ... DESC;
Sign up to unlock solutions
Meta Data Engineer Interview QuestionsWeee Data Scientist Interview QuestionsWeee Interview Questions
Next questions
MetaSecond Purchase Within 24 HoursEasyMetaSecond-Highest Marketplace Transactions UserMediumAmazonSecond Purchase DateMedium