0

请帮忙。我必须处理的表格是https://drive.google.com/file/d/0BwcVwVHkHN8SQ0thcUJwa2QwNjg/edit?usp=sharing 我想要做什么:

  1. 如果每个帐户的其余部分发生更改,我想将其记录在工作表的右侧,如果 accNumber 123(例如,有五个帐户的 accNumber 123),前 3 个条目的“Rest”(按日期排序)是 777 ,日期分别为 12/01/2013、15/01/2013、18/01/2013;其他 2 个条目的“Rest”值为 888,日期为 19/01/2013 和 29/01/2013。由于“休息”在第三个条目上发生了变化,记录应该是 accNumber (333)、Rest (777)、Date1 (12/01/2013)、Date2 (19/01/2013)。因此,Date1 是具有相同“Rest”值的最小日期,Date2 是下一个“Rest”值的最小日期。

  2. 'Rest' 值 888 是最后一个(如果按日期 (desc) 排序),因此我们还必须通过为 Date1 分配此 'Rest' 值的最小日期,并将日期的最大值分配给 'Date2' 来记录这一点这个特定的“休息”值,而不是即将到来的休息值的最小日期(因为没有这样的)。

抱歉,这么复杂的问题,希望你能理解。这是我为第一部分写的(它有效)。提前致谢

select a.accNumber, a.Rest, min(a.Date),  min(b.Date)  
from tt1  a, tt1 b 
where b.Date>a.Date
and a.accNumber=b.accNumber
and a.Rest<>b.Rest
Group by a.accNumber, a.Rest
4

0 回答 0