我需要计算每个用户在交易中执行他的部分所用的时间。
顺序是:0 -1 - B2 或 0-B3 该表如下所示:
+--------+--------+-------------------+------------------+-----------+
| id | Trtype |Internal Status | Timestamp | User Name |
+--------+--------+-------------------+------------------+-----------+
|2072499 | BSE100 | 0 | 03/06/2014 13:33 | User1 |
|2072499 | BSE100 | 1 | 04/06/2014 08:53 | User2 |
|2072499 | BSE100 |B2 | 03/06/2014 13:33 | User3 |
|2072605 | BSE100 | 0 | 03/06/2014 13:33 | User1 |
|2072605 | BSE100 |B3 | 03/06/2014 13:33 | User3 |
.....................
我正在使用以下 sql 查询来生成上面的表:
select h.id, h.trtype, T.DESCRIPTION, hist.internal_status,
ts.description status_Desc, h.val_dte, h.account_dte,
hist.signature_timestamp, usr.login_name as user_name
from k$transaction_header h, k$transtypes t, k$transaction_history hist, k$usr usr, K$TRANSACTION_STATUS ts
where h.trtype = t.trtype
and hist.trans_id = h.id
and usr.id=hist.signature_usr
and ts.id=hist.internal_status
AND H.ACCOUNT_DTE = TO_DATE(&DATE_YYYYMMDD, 'yyyymmdd')
order by h.id, hist.internal_status
是要手工计算,还是让oracle db来计算就够了?
(直接来自http://www.dba-oracle.com/t_measure_sql_response_time.htm)在这种情况下可能会有一些兴趣。
尝试这个。从逻辑上讲,这是一个自连接。