我有一个看起来像这样的表:
pageload --pageloadid (autoincrementing numeric id field) --BeginDateTime
现在,我想显示所有记录,并显示每条记录之间经过的时间。我可以在表中添加另一个字段,以在需要时存储EndDateTime,但是我猜想有一种简单的方法可以在SQL中做到这一点,而我只是没有想到。
我当前正在使用MS Access,但如果可能,您建议的解决方案应与数据库无关。
在这种情况下,无法创建与数据库无关的查询:
但是,此查询将在MS Access和MS SQL Server中都可以使用:
select p1.pageloadid, datediff("s", p1.BeginDateTime, p2.BeginDateTime) from pageload p1, pageload p2 where p1.pageloadid < p2.pageloadid and not exists(select * from pageload p3 where p3.pageloadid > p1.pageloadid and p3.pageloadid < p2.pageloadid)
该查询将显示两个相邻行之间的差异时间(以秒为单位pageloadid)(如果按排序)。
pageloadid
我建议您添加,EndDateTime因为这将大大简化和加速查询。
EndDateTime