0

ヒディホ、

電気メーターからのデータがたくさんあります。その値は、1 年間、1 時間ごとに取得されます。今、私はそれらを毎月追加して表示したいと考えています。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

時刻は文字列として保存されるため、文字列操作を行うか、日付/時刻に変換するかの 2 つの選択肢があります。

文字列操作としてこれを行いましょう:

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 に答える