Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择SQL中日期之间的平均差值_Mysql_Sql_Date - Fatal编程技术网

Mysql 选择SQL中日期之间的平均差值

Mysql 选择SQL中日期之间的平均差值,mysql,sql,date,Mysql,Sql,Date,我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段 我想从带有WHERE条件的事务表中选择一些信息,我想要的是日期之间的平均差异。实际上,我试图找到符合我条件的交易的平均频率,即 SELECT (average_date_difference) FROM transactions WHERE customerID = xyz; 其中,很明显,(平均日期差)将是一些SQL语句。所以我的问题是,SQL有没有一种方法可以轻松地选择它?或者我需要实现某种编程方式吗?谢谢 例如: 客户ID

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

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

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';