目前有一组数据
id year stkcd date1
1 2006 002 2000-0-1
1 2007 002 2000-0-1
1 2008 002 2008-0-1
1 2009 002 2008-0-1
1 2010 002 2000-0-1
2 2010 002 2003-0-1
2 2011 002 2003-0-1
3 2006 003 2005-0-1
3 2007 003 .
3 2008 003 2005-0-1
3 2009 003 2006-0-1
理论上,每一年、每一个id对应的date1应该是一致的,但因为数据库的问题,有些date1不一致,还有些缺失。
所以我希望实现的目标是,让每一个stkcd下面连续id对应的date1都与该id第一次出现时对应的date1一致,也就是使数据变成:
id year stkcd date1
1 2006 002 2000-0-1
1 2007 002 2000-0-1
1 2008 002 2000-0-1
1 2009 002 2000-0-1
1 2010 002 2000-0-1
2 2010 002 2003-0-1
2 2011 002 2003-0-1
3 2006 003 2005-0-1
3 2007 003 2005-0-1
3 2008 003 2005-0-1
3 2009 003 2005-0-1
我本来想用lag函数来解决,但是发现lag是不能迭代的,也就是第二行的date1变成了跟第一行一样,但是第三行的date1并没有变成新的第二行date1的滞后项,而仍然是原本的第二行date1的值。
想请教一下如何解决这个问题?谢谢!