【发布时间】:2018-05-22 19:07:44
【问题描述】:
我有一个 sql 表,其中包含所有客户端的事务历史记录。我想找出两个事务之间的平均时间差是多少。
ClientCode Date
DL2xxx 2016-04-18 00:00:00.000
DL2xxx 2016-04-18 00:00:00.000
E19xxx 2016-04-18 00:00:00.000
E19xxx 2016-04-18 00:00:00.000
E19xxx 2016-04-18 00:00:00.000
JDZxxx 2016-04-18 00:00:00.000
上面给出的是表格的前几行,给出的日期是交易发生的日期。我想取连续交易发生天数的平均差异。假设客户进行了第 1 天、第 3 天、第 10 天和第 15 天的交易。因此差异是 {2, 7, 5} 的平均值,平均为 4.66。如果只发生一个事务,则该值应为 0。
ClientCode AverageDays
DL2xxx <float_value>
DL2xxx <float_value>
E19xxx <float_value>
这是每个唯一客户端代码只出现一次的输出应该是这样的。
【问题讨论】:
-
你添加样本输出和输入数据
-
我已经添加了更多细节,如果你觉得这不够,请通知我。
-
如果性能是一个问题,您能否提供有关表上有哪些索引的信息?
-
什么是索引?此表中没有唯一标识符。表格的其余部分包含交易价值、税收、产品、数量等。
标签: sql-server