【发布时间】:2018-06-20 15:57:12
【问题描述】:
我正在尝试编写一个查询,该查询返回在某个日期范围内仅存在一次的记录。此表中可以有多个具有不同日期的相同记录。例如:
Field | Date
------------------
A | 2016-04-01
A | 2017-06-01
A | 2018-06-01
B | 2017-06-01
B | 2018-06-01
C | 2018-06-01
在这个例子中,我只想让查询返回行:
Field | Date
------------------
C | 2018-06-01
因为没有其他字段值为“C”且日期更早的行。我不能简单地在表中查询大于某个值的日期,因为可能存在与该条件匹配但具有与先前日期值相同的记录的记录。我只想返回只存在一次的记录。这是一个 DB2 表,这个查询最终会被构建到一个 SQLRPGLE 程序中。
有人对最好的方法有什么建议吗?
谢谢!
【问题讨论】:
-
你的问题不是很清楚。你说“可以有多个相同的记录”,但你又说它们“有不同的日期”。如果两件事是相同的,那么它们(根据定义)没有区别..即在您的示例中,没有相同的记录!无论如何我很困惑......其他人我的公平更好!
-
当我说“相同的记录”时,我的意思是除了日期之外,这些记录在各方面都是相同的。所有字段完全相同,只是日期值不同。
-
好的。所以亚历山大的答案就是你想要的。只需按所有字段分组(在本例中您只有 1 个字段)
标签: sql db2 ibm-midrange