【发布时间】:2014-03-26 23:08:11
【问题描述】:
我正在使用 teradata。 我有一个包含两个日期列和一个产品代码的表格。 像这样
Prod ID StartDate EndDate
123 1-1-2013 1-5-2013
123 1-3-2013 1-10-2013
123 1-4-2013 1-10-2013
321 1-4-2013 1-10-2013
321 1-6-2013 1-12-2013
321 1-5-2013 1-12-2013
我需要编写一个查询,该查询将为我提供同一产品的以下“结束日期”的最短开始日期。因此,在上面的示例中,第一个产品将返回“1-3-2013”,而对于第二个产品,我将收到“1-5-2013”,因为下一个结束日期“1-12-2013”是重复的,并且我只需要获取它的“开始日期”的最小实例。
我有一种感觉
min(startDate) over (partition by prodID order by endDate rows between 1 following and 1 following)
但是,我觉得我需要在这里添加一个限定语句,以确保下一行的 startDate 大于当前行的 endDate。
【问题讨论】:
-
你能把你期望的输出显示为另一个表吗?
标签: sql teradata window-functions