select
    aa.order_id,
    aa.customer_name,
    aa.order_date
from
    (
        select
            o.order_id,
            c.customer_name,
            o.order_date,
            row_number() over (
                partition by
                    c.customer_name
                order by
                    o.order_date desc
            ) as rk
        from
            orders o
            join customers c using (customer_id)
    ) aa
where
    aa.rk = 1;