我需要使用SQL實現一個非常複雜的函數,我無法弄清楚從哪裏開始。SQL Server 2012:計算日誌表中每條唯一記錄的總時間
--------------------------------------------------------
Entity | Source |Destination | Time
--------------------------------------------------------
E1 | - | T12 |2012-05-17 10:13:01.000
E2 | - | T22 |2012-05-17 10:13:02.000
E1 | T12 | T22 |2012-05-17 10:13:03.000
E2 | T22 | T12 |2012-05-17 10:13:04.000
E1 | T22 | T12 |2012-05-17 10:13:05.000
E2 | T12 | T21 |2012-05-17 10:13:06.000
E1 | T12 | T13 |2012-05-17 10:13:07.000
E2 | T21 | T23 |2012-05-17 10:13:08.000
---------------------------------------------------
Src/Dest | Type
---------------------------------------------------
T11 | T1
T12 | T1
T13 | T1
T21 | T2
T22 | T2
T23 | T2
-----------------------------------------------------
我需要計算每個實體在這兩種類型中花費的總時間。
例如:
E1已經使用了2秒(13:01-13:03)在T12,2秒(13:03-13:05)在T22,2秒(13:05-13:07)在T12。所以,花在T1上的時間是4秒,花在T2上的時間是2秒
E2在T12,2秒(13:04-13:06)花了2秒(13:02-13:04) 2秒(13:06-13:08)在T21。所以,在T1中花費的時間是2秒,花在T2上的時間是4秒。
注:我不能做最大 - 最小時間;我需要繼續積累時間,直到沒有可用的記錄。
SQL Server 2012中最簡單的方法是什麼?如果需要,我可以創建任何中間表。謝謝!
所以它被認爲是「在從被列爲目的地的時間到它在源中列出的時間的類型中? –
是的,那是對的。 – user1097128