sql 在oracle中计算没有唯一ID的日志时间差异

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 在oracle中计算没有唯一ID的日志时间差异相关的知识,希望对你有一定的参考价值。

CREATE TABLE x_log_time
  (
    message           VARCHAR2(2000 BYTE),
    time TIMESTAMP (6)
  );

SELECT log1.message,
  AVG(SYSDATE + (log2.TIME - log1.TIME)*24*60*60 - SYSDATE) AS run_length,
  count(log1.message) AS execution_count,
  AVG(SYSDATE + (log2.TIME - log1.TIME)*24*60*60 - SYSDATE) * count(log1.message) as total_time
FROM
  (SELECT ROW_NUMBER() over (order by TIME) + 1 AS id,
    MESSAGE,
    TIME
  FROM x_log_time
  ) log1
INNER JOIN
  (SELECT ROW_NUMBER() over (order by TIME) AS id,
    MESSAGE,
    TIME
  FROM x_log_time
  ) log2
ON log1.ID = log2.ID
GROUP BY log1.message;

以上是关于sql 在oracle中计算没有唯一ID的日志时间差异的主要内容,如果未能解决你的问题,请参考以下文章