0

希迪霍,

我有一堆来自电表的数据。它的值在一整年中每小时计算一次。现在我想让它们每个月都添加和显示。这样我就得到了一张从 1 月到 12 月的表格及其汇总的能源信息。日期类型是"DD.MM.YYYY HH24"

我可以遍历数据并在每个月的额外表格中显示吗?

在伪代码中它应该看起来像这样:

For x in 1..12 loop
  SELECT energie, time FROM tbl_energie
  WHERE time  LIKE '%.0' + x + '.12%'     --(01.x.2012)
end loop;

感谢您的帮助 - 菲普斯

4

2 回答 2

1

它有点笨重,在高性能代码中效果不佳,但是像这样的东西怎么样:

select sum(energie), time
from (
  select energie, to_char(time, 'MM.YYYY') as time
  from tbl_energie
)
group by time
order by time
于 2012-08-20T12:29:56.447 回答
0

由于您的时间存储为字符串,因此您有两种选择:进行字符串操作或转换为日期/时间。

让我们将其作为字符串操作:

select substr(time, 4, 7), sum(energie)
from tbl_energie
group by substring(time, 4, 7)
order by 1

我建议您在相信结果之前还验证您每小时都有仪表读数。

于 2012-08-20T13:18:49.583 回答