Sql server 根据数据是否出现在该行中,增加字段的值
我正在尝试创建下面的新_字段。首次出现新标识符时(按日期排序),应将其设置为1。如果date字段中两行之间的天数大于90,则NEW_字段应增加1。有关于如何为新的_字段编码的提示吗Sql server 根据数据是否出现在该行中,增加字段的值,sql-server,Sql Server,我正在尝试创建下面的新_字段。首次出现新标识符时(按日期排序),应将其设置为1。如果date字段中两行之间的天数大于90,则NEW_字段应增加1。有关于如何为新的_字段编码的提示吗 NEW_FIELD Identifier Date Prev Date days_diff 1 1567 18/11/2005 NULL NULL 2 1567 23/02/2008 18/11/2005 827 2
NEW_FIELD Identifier Date Prev Date days_diff
1 1567 18/11/2005 NULL NULL
2 1567 23/02/2008 18/11/2005 827
2 1567 29/02/2008 23/02/2008 6
2 1567 7/03/2008 29/02/2008 7
3 1567 27/01/2011 23/05/2008 979
3 1567 3/02/2011 27/01/2011 7
3 1567 10/02/2011 3/02/2011 7
1 845136 1/06/2012 NULL NULL
1 845136 1/06/2012 1/06/2012 0
1 845136 1/06/2012 1/06/2012 0
1 845136 2/06/2012 1/06/2012 1
1 845136 3/06/2012 2/06/2012 1
2 845136 1/08/2013 3/06/2012 424
2 845136 2/08/2013 1/08/2013 1
2 845136 3/08/2013 2/08/2013 1
2 845136 4/08/2013 3/08/2013 1
试试这个
IF((DATEDIFF(DW,'2013-11-12','2014-02-12'))>=90 )
BEGIN
UPDATE YOUR_TABLENAME SET NEW_FIELD=((select (max(NEW_FIELD)+1) from YOUR_TABLENAME ))
END
ELSE
UPDATE YOUR_TABLENAME SET NEW_FIELD=((select (max(NEW_FIELD)) from YOUR_TABLENAME ))
谢谢你的帮助。但是,对于每个新标识符,该值似乎不会重置为1??