-1

次のような値を持つ oracle user_transn(userid, resourceid, transid, act_timestamp) にテーブルがあります

    (21, 14, 123321, 28-NOV-11 13:30:21)
    (21, 14, 123321, 28-NOV-11 14:29:28)
    (21, 14, 123321, 29-NOV-11 18:44:22)
    (21, 14, 123321, 30-NOV-11 11:30:55)
    (21, 14, 123321, 30-NOV-11 16:56:11)
    (21, 14, 123321, 30-NOV-11 19:32:31)
    (21, 14, 123321, 31-NOV-11 09:22:51)
    (21, 14, 123321, 31-NOV-11 12:22:49)
    (21, 14, 123321, 31-NOV-11 13:11:17)
    (21, 14, 123321, 31-NOV-11 16:41:21)

クエリは、個別の日付ごとに act_timestamp フィールドの最小時間を取得し、指定された日付範囲 (この場合は 11 月 28 日から 31 日) の平均最小時間を計算する必要があります。

したがって、上記の結果は次のようになります: 13:30:21 + 11:30:55 + 9:22:51 /3 = 11:27:42 (平均最小時間)

同様に最大時間。

前もって感謝します

4

1 に答える 1

1

を選択min_timestampし、時間部分の平均を計算し、現在の日を追加して日付に戻します。

SELECT
  TO_CHAR(TRUNC(SYSDATE) + AVG(min_timestamp - TRUNC(min_timestamp)), 'HH24:MI:SS')
FROM
(
  SELECT MIN(act_timestamp) AS min_timestamp
  FROM user_transn
  GROUP BY TRUNC(act_timestamp)
)
于 2012-04-13T09:47:02.107 に答える