分析日志表 - Oracle 11g

时间:2016-04-04 12:49:33

标签: sql oracle

我在Oracle 11g上有这个表:

CREATE TABLE USER.HISTORY_LOG
(
  ID                       NUMBER,
  DATE                     DATE,
  COUNT_INSERTED_ROWS      NUMBER,
  EXEC_TIME                VARCHAR2(50 BYTE)
)

一些数据:

ID      DATE                COUNT_INSERTED_ROWS EXEC_TIME

6356    04/04/2016 09:36:03 1074    00h:00m:58s:769ms
6355    04/04/2016 09:33:00 1074    00h:00m:56s:221ms
6354    04/04/2016 09:30:11 1074    00h:01m:06s:719ms
6353    04/04/2016 09:27:13 1074    00h:01m:08s:977ms
6352    04/04/2016 09:24:13 1074    00h:01m:09s:361ms
6351    04/04/2016 09:21:12 1074    00h:01m:07s:685ms
6350    04/04/2016 09:18:11 1074    00h:01m:06s:657ms
6349    04/04/2016 09:15:01 1074    00h:00m:57s:074ms

此表由c#编写的控制台应用程序提供,每3分钟运行一次,#34;永远" ... 但它可能会因某些服务器的问题而崩溃,例如不可用......我必须检查是否有任何时间 - 以及何时 - 发生这种情况。我怎么能用SQL做到这一点? 我需要的是这样的东西:

  

在日期X和Y之间,执行时间超过3分钟。

我想用SQL解决....有什么方法可以做到吗?我承认我没有想法建立一个查询来做到这一点。

1 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情:

{{1}}

这会为每行计算前面的记录,并检查两个日期之间的分钟差异是否大于4。