日期之间的频率
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;
我有一个查询,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;