日期:2014-05-17  浏览次数:20779 次

求同一字段的时间间隔
           各位前辈,现在有一个日期字段。想查询相邻两字段的时间间隔。请问该怎么实现 
------解决方案--------------------
select a.docID,b.docID,datediff(s,a.postdate,b.postdate)
from tb a inner join tb b on a.docID=b.docid-1
--这是按秒计算的,设ID连续.
------解决方案--------------------
如果ID不连续,有两种方法,一是用 row_number()函数获得一个连续的序号,再按上面的方法进行,另一个是采用条件来设置:
select a.docID,b.docID,datediff(s,a.postdate,b.postdate)
from tb a inner join tb b on a.docID<b.docid
where not exists(select 1 from tb where postdate>a.datediff and postdate<b.postdate)