为范围内的每个日期选择最小时间值,并在oracle中获取平均值

为范围内的每个日期选择最小时间值,并在oracle中获取平均值,oracle,time,average,Oracle,Time,Average,我在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, 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 作为平均分钟时间

同样的,最长时间


提前感谢

选择
minu 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)
)

你为什么忽略11月29日18:44:22?还有,哪种日历允许11月31日?你的例子是错误的。这三个值的平均值是
11:28:02
,而不是
11:27:42
。在解决问题时,您尝试了什么?