2016-09-29 247 views
-1

任何人都可以帮助我计算两行之间的时差(hh:mm),当Procs_ID从01更改为另一个Procs_ID时。sql查询计算两个连续行之间的时间差

Procs_ID meter_id  date 
    01  0000012   2015-10-12 09:07:22.530 
    03  0000013   2015-10-12 09:11:51.733 
    01  0000014   2015-10-12 09:12:38.550 
    02  0000015   2015-10-12 10:38:52.923 
    03  0000016   2015-10-12 10:40:33.467 
    01  0000017   2015-10-12 10:40:56.013 

在此先感谢

+1

您可以在SQL Server – dfundako

+1

做到这一点使用延时/铅可你也交您的预期产出? – GarethD

+0

你使用的是什么SQL版本?使用方法各不相同。 – SMM

回答

0

这里是LEAD其中一个例子是avaliable为SQL Server 2012+

select 
    *, 
    case 
     when Procs_Id = '01' 
      and lead(Procs_ID) over (order by [date]) <> Procs_ID then datediff(mi,[date],lead([date]) over (order by [date])) 
    end as TimeDiffInMin 
from YourTable 
+0

HI scsimon,我正在使用MS Sql服务器,由于'lead'不是公认的内置函数名称,所以出现错误。谢谢 –

相关问题