我经常搜索,再次尝试和尝试,我真的不知道如何解决我的问题,可能是因为我不知道SQL需求如何工作并对待表格。
这是我的问题。我有一个包含列的表(id,sentdate,data)。其中一列是date(sentdate),例如“2011-03-21 05:17:48”。我需要的是比较第一个日期和第二个日期,然后获得天数的差异,然后获得第二个和第三个日期,并获得一天的差异...依此类推。最后,我希望获得开始日期和结束日期的最高时间间隔。我正在使用PostgreSQL
答案 0 :(得分:3)
如果您想要整数天的差异:
select
sentdate, lag(sentdate) over(order by sentdate) previous_sentdate,
sentdate::date - lag(sentdate) over(order by sentdate) days
from t
order by sentdate