在 SQL 中选择日期之间的平均差异
Posted
技术标签:
【中文标题】在 SQL 中选择日期之间的平均差异【英文标题】:Select average difference between dates in SQL 【发布时间】:2020-12-02 04:33:08 【问题描述】:我有一个事务表,其中每个条目都是一个事务;其中一个字段是日期字段。
我想从带有 WHERE 条件的事务表中选择一些信息,我想要的一件事是日期之间的平均差异。实际上,我试图找到满足我条件的交易的平均频率,即
SELECT (average_date_difference) FROM transactions WHERE customerID = xyz;
显然,(average_date_difference) 将是一些 SQL 语句。所以我的问题是,SQL 有办法轻松选择它吗?或者我是否需要以某种方式以编程方式实现它?谢谢!
例子:
客户 ID |日期
c1 | 2020 年 11 月 25 日
c1 | 21/11/2020
c1 | 2020 年 11 月 18 日
25 - 21 = 4
21 - 18 = 3
(3 + 4) / 2 = 3.5
(average_date_difference) = 3.5 days (expected output)
【问题讨论】:
此答案适用于 MS SQL,但应该对您有所帮助:***.com/questions/9994862/… 具有预期输出的样本数据将有助于更好地了解您的问题 添加了一些示例数据和预期的输出欢呼 【参考方案1】:SELECT avg( datediff(date, lag(date) over (partition by customerID order by date)) )
FROM transactions
WHERE customerID = 'c1';
【讨论】:
以上是关于在 SQL 中选择日期之间的平均差异的主要内容,如果未能解决你的问题,请参考以下文章