The First Transaction Initiative:Find Each Customer’s Earliest Recorded Transaction Date
Advanced
Find the very first recorded purchase for every galactic customer.
The galactic accounting department at Zlacksys 19 needs to identify the first transaction made by each customer. Write a query to display each customer's first transaction based on the transaction date.
Write Your Query
Answer:
with rankedtransactions as
(select customerid,
transactionid,
transactiondate,
row_number() over (partition by customerid
order by transactiondate) as transactionrank
from transaction)
select customerid,
transactionid,
transactiondate
from rankedtransactions
where transactionrank = 1;
Explanation:
This reflects tracking when customers first made a purchase to study onboarding, loyalty, or sales trends over time.
You’ll practice identifying first occurrences, organizing time-based data, and filtering for earliest records within groups.
This problem is labeled as Advanced. It’s intended for learners who are already comfortable with common window functions and want to push into more complex analytical patterns. Don’t rush — work through the hints one at a time and study the final query structure carefully.
Yes. Every problem comes with optional hints you can reveal one at a time, plus a fully worked step-by-step solution. You decide how much help you want while practicing.
All problems on PracticeWindowFunctions.com are completely free and can be solved without creating an account. Right now there are over 80 practice problems, with new ones added regularly.