日期之间的频率

fhity93d  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(326)

我有一个查询,在一列中返回name,在另一列中返回date。一个名称将有多行,每行包含不同的日期。
是否可以计算每个日期之间的平均天数,为每个人分组,这样我就可以在一列中列出每个人一次,然后在另一列中列出平均天数?
谢谢

c9x0cxw0

c9x0cxw01#

两个日期之间的平均时间——假设它们是有序的——是最大值减去最小值除以小于计数的1。
数据库中的日期函数差别很大,但其思想是:

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

并非所有的数据库都支持日期差异。但是,所有人都有一些方法来衡量两次约会之间的天数。所以你的语法可能不同,尽管想法是一样的。
在sql server中,这将是:

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

相关问题