SELECT
order_id,
customer_name,
order_date
FROM
(SELECT
o.order_id,
c.customer_name,
o.order_date,
RANK() over (partition by c.customer_name ORDER BY o.order_date DESC) AS rk
FROM
orders o
JOIN customers c ON o.customer_id=c.customer_id
) AS t
WHERE
rk=1
子查询里写的 o.order_id,在外层可以直接叫 order_id,前提是在子查询的 SELECT 中给它起了别名,或它原本就有别名/字段名。

京公网安备 11010502036488号