我有一張表,如下所示。我有專欄跟蹤應用程序和應用程序狀態隨時間的變化。我跟蹤它在日期欄中更改狀態的時間。該表按應用程序和狀態從最舊到最新更改的日期排序。計算狀態Chages和狀態之間的時間
+--------+-----------+--------+------------------+ | app_id | status_id | row_no | date | +--------+-----------+--------+------------------+ | 1 | a | 10 | 2016-10-04 21:35 | | 1 | b | 11 | 2016-10-12 21:50 | | 1 | c | 12 | 2016-10-25 20:40 | | 1 | d | 13 | 2016-10-26 16:10 | | 1 | e | 14 | 2016-10-26 16:10 | | 2 | a | 20 | 2016-09-15 1:26 | | 2 | c | 21 | 2016-09-15 21:32 | | 2 | d | 22 | 2016-09-16 21:51 | | 2 | e | 23 | 2016-09-16 21:51 | | 2 | f | 24 | 2016-09-20 22:55 | | 2 | g | 25 | 2016-10-20 22:46 | | 2 | g | 26 | 2016-10-20 22:46 | +--------+-----------+--------+------------------+
我正試圖在應用程序到達最終狀態之前花費多少時間。以下是我試圖在Sql中構建的表的示例。對於我試圖捕捉下一個狀態的每個狀態。以前的狀態欄顯示該行的狀態,而下一個狀態顯示該應用程序下一行的下一個狀態。如果應用程序處於最後狀態,則下一個狀態標記爲Last。接下來我通過計算兩個日期之間的小時差異來計算狀態之間的時間。如果你能告訴我如何在Sql中實現這個功能,我將非常感激。先謝謝你。
+--------+-----------+--------+------------------+-----------------+-------------+--------------+ | app_id | status_id | row_no | date | previous status | next status | time between | +--------+-----------+--------+------------------+-----------------+-------------+--------------+ | 1 | a | 10 | 2016-10-04 21:35 | a | b | 192.2333333 | | 1 | b | 11 | 2016-10-12 21:50 | b | c | 334.8333333 | | 1 | c | 12 | 2016-10-25 20:40 | c | d | 43.48333333 | | 1 | d | 13 | 2016-10-26 16:10 | d | e | 0 | | 1 | e | 14 | 2016-10-26 16:10 | e | Last | Last | | 2 | a | 20 | 2016-09-15 1:26 | a | c | 20.08333333 | | 2 | c | 21 | 2016-09-15 21:32 | c | d | 24.31666667 | | 2 | d | 22 | 2016-09-16 21:51 | d | e | 0 | | 2 | e | 23 | 2016-09-16 21:51 | e | f | 97.06666667 | | 2 | f | 24 | 2016-09-20 22:55 | f | g | 743.8333333 | | 2 | g | 25 | 2016-10-20 22:46 | g | g | 0 | | 2 | g | 26 | 2016-10-20 22:46 | g | Last | Last | +--------+-----------+--------+------------------+-----------------+-------------+--------------+
我刪除了不兼容的數據庫標記。爲您實際使用的數據庫添加標籤。 –
你能把這個樣本數據轉化成清晰的東西嗎?目前發佈是不可能破譯的。 –
@SeanLange我的歉意,它沒有正確格式。 – user3202499