2017-07-03 57 views
-1

我有一個表像下面在Oracle 11g中如何在oracle中獲得總工作時間?

ACT_DTL_ID USER_ID ACTIVITY_TYPE ACTIVITY_TIME 
0000000003 DOC000035 LOGIN   03-07-17 12:35:39.000000000 PM 
0000000004 DOC000035 LOGOUT   03-07-17 12:41:07.000000000 PM 
0000000005 DOC000035 LOGIN   03-07-17 12:41:28.000000000 PM 
0000000006 DOC000035 LOGOUT   03-07-17 12:50:35.000000000 PM 

我要計算總工作時間的用戶。

你能幫我嗎?

+0

我幫助格式化。您可能需要對*連續*登錄和註銷之間的差異進行總結...現在向我們展示您嘗試過的內容,我們將幫助更多!閱讀[問]以防萬一...... –

回答

0
select 
    sum((x.activity_time - to_date('01.01.2017', 'DD.MM.YYYY') * decode(x.activity_type,'LOGIN',-1,1)) 
from 
    your_table x 
; 

雖然這隻有在列表以登錄開始並以註銷結束時纔有效。

+0

感謝您的評論。我想在登錄後立即獲得登出時間。一天中可以有多個登錄和註銷。 – Gokul

+0

那麼,我的答案是否適合你? – EasterBunnyBugSmasher

+0

你甚至嘗試過嗎? – EasterBunnyBugSmasher