Answer:
with last_order as
(select customerid,
orderid,
totalamount,
orderdate,
last_value(orderdate) over (partition by customerid
order by orderdate asc rows between unbounded preceding and unbounded following) as lastorderdate
from orders)
select customerid,
orderid,
totalamount,
lastorderdate
from last_order
where orderdate = lastorderdate;