我有一个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.
感谢任何/所有回复!提前谢谢,
答案 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