db2—如何从同一个表中获取最小日期和下一个日期
我有一个带有日期属性的表,我需要执行一个查询,以获取最小日期和下一个最小日期 我试过:db2—如何从同一个表中获取最小日期和下一个日期,db2,Db2,我有一个带有日期属性的表,我需要执行一个查询,以获取最小日期和下一个最小日期 我试过: select min(SC.TIMESTAMP) as minDate, result.TIMESTAMP from Event SC INNER JOIN (SELECT TIMESTAMP from Event HAVING TIMESTAMP > min(SC.TIMESTAMP) ) as result on result.BUSINESSID1 = SC.BUSINESSID1
select min(SC.TIMESTAMP) as minDate, result.TIMESTAMP
from Event SC
INNER JOIN
(SELECT TIMESTAMP from Event
HAVING TIMESTAMP > min(SC.TIMESTAMP)
) as result on result.BUSINESSID1 = SC.BUSINESSID1
where SC.BUSINESSSTEP = 'CONTAINER_PLACING_EVENT'
and SC.LOCATIONCODE = '1';
你能告诉我怎么做吗
提前感谢您可以使用行号:
这将以行而不是列的形式返回,但它应该可以满足您的需要。如果您认为原始查询将为多个实体返回多行,则可以更改PARTITION BY子句,以包含使它们不同的列。也许您可以将查询重新安排为以下形式:
select
min(TS), min(TS2)
from
event,
(select TS as TS2 from event where TS > (select min(TS) from event))
根据需要添加额外的条件。我会尝试重写你的,但不完全清楚计数的标准应该是什么。如果您需要不止一行,例如每个LOCATIONCODE的min和min2,那么您可能需要一个GroupBy
此外,我不会调用列时间戳,因为它是一个保留字。请定义下一个最小日期。这是否意味着MINSC.TIMESTAMP+1天?或者它是否意味着下一个表日期比MINSC.TIMESTAMP更新?
select
min(TS), min(TS2)
from
event,
(select TS as TS2 from event where TS > (select min(TS) from event))