【发布时间】:2019-06-16 21:48:18
【问题描述】:
这是我的 PEOPLE 表,我在其中存储姓名、姓氏、DOB(出生日期)和其他一些数据。在一个新查询中,我需要为具有相同姓名和姓氏组合的人添加额外的列。这是条件:
- 遍历每组具有相同姓名和姓氏组合的人,在附加字段中标记那些 DOB 不是最大值和最小值的人(仅与相同的姓名和姓氏相比)
- 如果只有 1 或 2 次出现相同的姓名和姓氏,请无论如何标记它们
这是查询的结果
解释:
- John Doe 标记为仅见过一次
- Tom Taylor 标记为只见过两次
- 除了具有最小和最大 DOB 的记录外,Alice Smith 和 Bob Brown 在任何地方都做了标记
请帮助形成所需输出的 SQL 查询。这是我的理解(猜测)
- 获取唯一姓名和姓氏对的列表,(出现次数 >2 ??? )
- 为每个唯一对找到具有最小和最大 DOB 的行(避免它们)
- 在新的 CheckBox 列中标记剩下的那些(不是极值)
【问题讨论】:
-
我能想到的另一种方法是:选择具有 MIN 和 MAX DOB 的行,其中唯一 Name&Surname > 2 的出现,避免它们,标记其他所有内容