计算记录的多个暂停状态

时间:2016-01-13 17:37:25

标签: sql sql-server sql-server-2012

如果记录暂停并多次激活,您如何计算日志的天数。我是否想在每次暂停时分配一个序号?或者有更好的方法吗?

例如

If count(suspendeddate)++ >1 set sequentialnumber to 1, 2, 3

DATA:

id logdate  status
1  1/1/2015 suspended
1  1/2/2015 active
1  1/3/2015 active
1  1/5/2015 active
1  1/5/2015 suspended
2  1/2/2015 suspended
2  1/6/2015 active
2  1/7/2015 active

结果

id  suspendeddays1 suspendeddays2
1   1              369 
2   4              0 

1 个答案:

答案 0 :(得分:0)

要计算暂停天数,请使用final

lead()

这会将每个暂停放在一个单独的行上,而不是放在单独的列中。