mysql - 生日 table 上最年长的人。 SQL子查询

标签 mysql sql

我正试图在来自佛蒙特州和纽约的成员(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/

相关文章:

java - 在 Hibernate 上禁用 mysql sql_mode

java - 如何将主键的 Id 填充到外键

mysql - 使用选择和分组依据插入

c# - 当读取远高于写入时将计算值存储在数据库中

java - 从 Object[] 映射到自定义对象。使用 findBy SQL 查询

mysql - 我如何创建这个 mysql 选择查询?

php - AUTO_INCREMENT 在两个地方

php - 如何在MySQL中对json数据进行编码以供数据库存储?

mysql - 将 hibernate 生成器值从增量更改为 native

Phpmyadmin 和 mysql 显示错误结果