日期之间的频率

Frequency between dates

我有一个查询,returns 一列是名称,另一列是日期。一个名字会有多行,每一行包含一个不同的日期。

是否可以计算每个日期之间的平均天数,为每个人分组,以便我最终用一列列出每个人一次,然后在另一列列出平均值?

谢谢

日期之间的平均时间 - 假设它们是有序的 - 是最大值减去最小值除以计数减一。

日期函数因数据库而异,但思路是:

select name,
       (max(date) - min(date)) / nullif(count(*) - 1, 0)
from t
group by name;

并非所有数据库都支持日期差异。但它们都有某种方法可以测量两个日期之间的天数。所以你的语法可能不同,虽然想法是一样的。

在 SQL 服务器中,这将是:

select name,
       datediff(day, min(date), max(date)) * 1.0 / nullif(count(*) - 1, 0)
from t
group by name;