在SQL中选择日期之间的平均差异



我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段。

我想从带有WHERE条件的事务表中选择一些信息,我想要的一件事是日期之间的平均差。实际上,我正在努力寻找符合我的条件的交易的平均频率,即

SELECT (average_date_difference) FROM transactions WHERE customerID = xyz;

其中,(average_date_difference(显然是某种SQL语句。所以我的问题是,SQL有办法轻松地选择它吗?或者我需要用某种方式来编程吗?谢谢

示例:

客户ID |日期

c1 | 2020年11月25日

c1 | 2020年11月21日

c1 | 2020年11月18日

25 - 21 = 4
21 - 18 = 3
(3 + 4) / 2 = 3.5
(average_date_difference) = 3.5 days (expected output)
SELECT avg( datediff(date, lag(date) over (partition by customerID order by date)) )
FROM transactions
WHERE customerID = 'c1';

相关内容

  • 没有找到相关文章

最新更新