我正试图在来自佛蒙特州和纽约的成员(member)的生日表中找到最年长的人。我的成员类似于以下内容:
Members
-------
MemberID, Firstname, Lastname, Birthday, Region
我制定了以下子查询:
SELECT lastname
FROM members
WHERE region = 'VT'
AND year(birthday) > (SELECT year(birthday)
FROM members
WHERE region = 'NY')
SQL 查询系统告诉我它返回了不止一行。我在其中遗漏了什么,它在逻辑上是否正确?再一次,我是在问我如何才能找到佛蒙特州比所有来自纽约的所有成员都年长的成员。
最佳答案
您需要找到 NY 成员的最大生日,以便您只获得一个值。然后使用该值找到大于 NY 的最大值的 VT 成员
你可以试试这个:
select lastname
from members where region = 'VT' and year(birthday) >
(select max(birthday) from members where region = 'NY')
逻辑运算符>
要求运算符右边只有1个值。
关于mysql - 生日 table 上最年长的人。 SQL子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20137387/