0

我需要使用 TSQL 来计算客户交易之间天数的标准差。该表有两列,CustomerId 和 TranDate。每个客户至少有 3 个唯一的交易日期。例如,客户 abc 的交易日期可能是 1/1/13、1/4/13、1/10/13 和 1/20/13。交易之间的天数将是 3、6 和 10 - 因此代码应返回客户 abc 的标准偏差 2.867。

对于任意数量的交易,如何以按客户分组的方式对其进行编码?

4

1 回答 1

1
select id, stdev(DATEDIFF ( dd , '1/1/1900' , enddate ))
from table 
group by id 



with dateOrder as 
(SELECT [fieldID], [value], 
        row_number() over (partition by [fieldID] order by [value]) as row
   FROM [docSVdate])
select do1.fieldID, stdev(datediff(dd, do1.value, do2.value))
  from dateOrder as do1
  join dateOrder as do2
    on do1.fieldID = do2.fieldID 
   and do2.row = do1.row + 1
 group by do1.fieldID
于 2013-10-14T15:13:12.423 回答