我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段。
我想从带有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';