1

これは私のテーブル/出力がどのように見えるかです:

ID       ID_2        Status              Timestamp
-------  ----------- ------------------- --------------------
4613840  19668170    Submitted           05-06-2015 16:37:00
4613840  19668330    Submitted           05-06-2015 16:44:00
4613840  19668409    In Progress         05-06-2015 16:48:00
4613840  19669674    SupplierPend        05-06-2015 17:43:00
4613840  19705863    SupplierPend        09-06-2015 15:01:00
4613840  19735270    In Progress         12-06-2015 11:38:00
4613840  19735282    Information Pend    12-06-2015 11:38:00
4613840  19735383    Closed              12-06-2015 11:42:00

日付の差 (分単位) を含む別の列を末尾に追加する必要があります。

期待される出力:

ID       ID_2        Status              Timestamp            Result
-------  ----------- ------------------- -------------------  ---------
4613840  19668170    Submitted          05-06-2015 16:37:00   0:07:00
4613840  19668330    Submitted          05-06-2015 16:44:00   0:04:00
4613840  19668409    In Progress        05-06-2015 16:48:00   0:55:00
4613840  19669674    SupplierPend       05-06-2015 17:43:00   93:18:00
4613840  19705863    SupplierPend       09-06-2015 15:01:00   68:37:00
4613840  19735270    In Progress        12-06-2015 11:38:00   0:00:00
4613840  19735282    Information Pend   12-06-2015 11:38:00   0:04:00
4613840  19735383    Closed             12-06-2015 11:42:00

ID 19668330最初の行の結果は、timestamp withと timestamp with の差ID 19668170です。

4

2 に答える 2

2

次の行までの時間が分単位で (時系列で) 必要な場合は、 を使用しますlead()。以下は、1 日の端数で差を取得します。

select t.*,
       (lead(timestamp) over (partition by id order by timestamp) - timestamp
       ) as DayFrac
from table t;

これにより、値が分に変換されます。

select t.*,
       (lead(timestamp) over (partition by id order by timestamp) - timestamp
       ) * 60 * 24 as Minutes
from table t;
于 2015-07-21T14:08:01.810 に答える