请教 left join 右表后,只返回 在 leftjoin 的结果里,返回右表中 OrderNo 最大的那一条
資深大佬 : rqxiao 9
https://www.w3school.com.cn/sql/sql_join_left.asp
想要 结果
Adams John 24562
Carter Thomas 77895
Bush George
大佬有話說 (12)
想要 结果
Adams John 24562
Carter Thomas 77895
Bush George
SELECT Persons.LastName, Persons.FirstName,
(SELECT max(OrderNo) FROM Orders WHERE Orders.Id_P = Persons.Id_P) AS OrderNo
FROM Persons;
如果要取最大的两条,就得用 2 的方法
也可以用 window function,MySQL 8 支持了
SELECT max(OrderNo)
FROM (
SELECT Orders.Id, OrderNo
FROM Orders
WHERE EXISTS (
SELECT *
FROM Persons
WHERE Orders.ID_P = Persons.Id_P)
) t;
MySQL 中 EXISTS 部分 SELECT * 不会实际取数据,对速度没影响。