Mysql 选择SQL中日期之间的平均差值
我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段 我想从带有WHERE条件的事务表中选择一些信息,我想要的是日期之间的平均差异。实际上,我试图找到符合我条件的交易的平均频率,即Mysql 选择SQL中日期之间的平均差值,mysql,sql,date,Mysql,Sql,Date,我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段 我想从带有WHERE条件的事务表中选择一些信息,我想要的是日期之间的平均差异。实际上,我试图找到符合我条件的交易的平均频率,即 SELECT (average_date_difference) FROM transactions WHERE customerID = xyz; 其中,很明显,(平均日期差)将是一些SQL语句。所以我的问题是,SQL有没有一种方法可以轻松地选择它?或者我需要实现某种编程方式吗?谢谢 例如: 客户ID
SELECT (average_date_difference) FROM transactions WHERE customerID = xyz;
其中,很明显,(平均日期差)将是一些SQL语句。所以我的问题是,SQL有没有一种方法可以轻松地选择它?或者我需要实现某种编程方式吗?谢谢
例如:
客户ID |日期
c1 | 25/11/2020
c1 | 21/11/2020
c1 | 18/11/2020
25 - 21 = 4
21 - 18 = 3
(3 + 4) / 2 = 3.5
(average_date_difference) = 3.5 days (expected output)
这个答案适用于MS SQL,但应该对您有所帮助:具有预期输出的示例数据将有助于更好地理解您的问题添加了一些示例数据和预期输出欢呼声
SELECT avg( datediff(date, lag(date) over (partition by customerID order by date)) )
FROM transactions
WHERE customerID = 'c1';