select order_id,customer_name,order_date
from (
    select order_id,customer_name,order_date,
    rank()over(partition by customer_name order by order_date desc) rk 
    from orders o join customers c on o.customer_id = c.customer_id
) z 
where z.rk = 1 
order by customer_name