首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户每次交易之间的平均时间

客户每次交易之间的平均时间
EN

Stack Overflow用户
提问于 2017-01-02 13:46:08
回答 1查看 1.7K关注 0票数 1

我如何知道客户每次事务之间的平均时间(以秒为单位)?

代码语言:javascript
复制
 Time               Customer ID      Transaction
11/08/2020 00:00:01       1                 111
11/08/2020 00:02:00       2                  0
11/08/2020 00:02:07       1                  0
11/08/2020 00:03:09       3                  412
11/08/2020 00:04:00       1                  0

在预期的表之前,我需要显示所需的步骤:对于客户ID 1有3个事务,差异事务。

  • 第一次和第二次事务之间的差别126秒。
  • 第二和第三次事务之间的差别113秒。

预期表:

代码语言:javascript
复制
Customer ID          Average time between each transactions for customer 
1                           (126+113)/3
2   
3   
EN

回答 1

Stack Overflow用户

发布于 2017-01-02 13:54:40

平均时间是总时间除以交易数的1。所以:

代码语言:javascript
复制
select customerId,
       (case when count(*) > 1
             then datediff(second, min(time), max(time)) / (count(*) - 1)
        end) as avg_time
from t
group by customerId;

注意: Server执行整数除法。如果结果需要一个非整数,则可能需要在表达式中进行转换或count(*) - 1.0

这确实假定时间只是在增加(对于这类问题,这似乎是一个合理的假设)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41428041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档