Species Transaction Origins:Find the Earliest Recorded Transaction Date for Each Customer Species
Intermediate
Identify the first transaction date for customers of each species.
Xorthax is curious about the first transaction date for customers of each species. Write a query to display the first transaction date for each species.
Write Your Query
Answer:
with species_transactions as
(select c.species,
t.transactiondate
from orders o
join transaction t on o.orderid = t.orderid
join customers c on o.customerid = c.customerid)
select distinct species,
first_value(transactiondate) over (partition by species
order by transactiondate asc) as firsttransactiondate
from species_transactions;
Explanation:
This represents analyzing customer transaction data to determine the first recorded activity by group or demographic segment.
You’ll practice grouping data logically, ordering results, and isolating the earliest event within each category.
This problem is labeled as Intermediate. It assumes you’ve written a few window function queries before, but you don’t need to be an expert. Use the hints and explanations if you get stuck — they’re there to help you think through the logic.
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.