2016-09-29 9 views
-1

Procs_IDが別のProcs_IDに変更されたときに、2つの行の間の時間差(hh:mm)を計算するのに役立つ人はいますか。2つの連続する行の時間差を計算する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

で、この使用してラグ/リードを行うことができますavaliableであるLEADと例です。あなたの予想される出力? – GarethD

+0

あなたはどのSQLバージョンを使用していますか?使用する方法は異なります。 – SMM

答えて

0

のおかげでは、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サーバーを使用していますが、「リード」は認識された組み込み関数名ではないため、エラーが表示されます。ありがとう –

関連する問題