-1

我在 oracle 11g 中有一个如下表

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

我想计算用户的总工作时间。

你能帮我么?

4

1 回答 1

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
;

尽管这仅在列表以登录开始并以注销结束时才有效。

于 2017-07-03T15:18:58.300 回答