如何聚合查询结果中的秒数?

时间:2010-08-12 18:27:19

标签: oracle time aggregate

我有一个Oracle 10g表,其中包含一组日志记录。此表从环境记录设备收集数据,该设备在运行时每15秒创建一个日志记录。

我想从日志文件条目的读取日期添加所有秒,以确保记录器运行> 24小时(84,600秒)。数据如下所示:

ID     READING_DATE 
286294 8/4/2010 1:03:30 PM 
286295 8/4/2010 1:03:45 PM 
286296 8/4/2010 1:04:00 PM 
286297 8/4/2010 1:04:15 PM 
286298 8/4/2010 1:04:30 PM 
286299 8/4/2010 1:04:45 PM 
286300 8/4/2010 1:05:00 PM 

我不能只查询(结束日期 - 开始日期),因为设备可能无法连续24小时运行。它可以在90天的时间内总共运行24小时。

我想要做的是编写一个由数据库执行的查询,该查询将每个15秒的间隔添加到最后一个,以查看我的结果是否大于> 84600.

感谢任何/所有回复!提前谢谢,

2 个答案:

答案 0 :(得分:3)

设备运行的秒数约为:

SELECT COUNT(*) * 15
FROM your_table

答案 1 :(得分:0)

假设您有多个设备已记录到该表,并且您希望列出已为>运行的所有设备1天。

SELECT device_id
FROM log_table
GROUP BY device_id
HAVING MAX(reading_date) - MIN(reading_date) > 1.0