我的 SQL 有点生疏,我在解决这个问题时遇到了很多困难。假设我有一个包含 Timestamp 列和 Number 列的表。目标是返回一个包含某个任意选择的定期间隔的平均值的结果集。
因此,例如,如果我有以下初始数据,则间隔 5 分钟的结果输出如下:
time value
------------------------------- -----
06-JUN-12 12.40.00.000000000 PM 2
06-JUN-12 12.41.35.000000000 PM 3
06-JUN-12 12.43.22.000000000 PM 4
06-JUN-12 12.47.55.000000000 PM 5
06-JUN-12 12.52.00.000000000 PM 2
06-JUN-12 12.54.59.000000000 PM 3
06-JUN-12 12.56.01.000000000 PM 4
OUTPUT:
start_time avg_value
------------------------------- ---------
06-JUN-12 12.40.00.000000000 PM 3
06-JUN-12 12.45.00.000000000 PM 5
06-JUN-12 12.50.00.000000000 PM 2.5
06-JUN-12 12.55.00.000000000 PM 4
请注意,这是一个 Oracle 数据库,因此特定于 Oracle 的解决方案可以正常工作。当然,这可以通过存储过程来完成,但我希望在单个查询中完成任务。