OKWAVEパソコン版の推奨環境変更のお知らせ
  • ベストアンサー

日次データをもとに決算集計できませんか?

こんにちは、最近データベースを使い始めた初心者です。 実家の仕事を手伝いたくて、決算集計をやりたいなと思っています。 今、毎日下のようなデータが作成されています。 (date型のデータ列, number型のデータ列のテーブルイメージです。) 2007/3/31 , 5 2007/4/1 , 10 2008/3/31 , 5 2008/4/1 , 10 このデータを日本の会計期間(4/1~翌年3/31まで)に合わせて、 次のような形に集計できないものでしょうか? 2006 , 5 2007 , 15 2008 , 10 何かアドバイス頂けると助かります。 どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんなのでもいいのかな?? TABLE:TEST FIELD1    FIELD2 -------- ---------- 07-03-31     5 07-04-01     10 08-03-31     5 08-04-01     10 select to_char(add_months(field1,-3),'YYYY'),sum(field2) from test group by to_char(add_months(field1,-3),'YYYY') order by 1; add_months関数で3ヶ月前に持っていき、その日付の年で集計しています。

fishfly
質問者

お礼

naochancomさん、 回答ありがとうございました。 なるほど、-3ヶ月するんですね、 その発想は無かったです・・・。 ちょっとやってみます。 ありがとうございました。

その他の回答 (1)

回答No.1

SELECT * FROM test4; "NITIZI","SUUTI" "2007-03-31","5" "2007-04-01","10" "2008-03-31","5" "2008-04-01","10" --------------------------------------------------- with a as( select case when to_char(nitizi,'mm') in ('03','02','01') then to_char(add_months(nitizi,-12),'yyyy') else to_char(nitizi,'yyyy') end nitizi ,suuti from test4 ) select nitizi ,sum(suuti) as suuti from a group by nitizi order by 1 ; "NITIZI","SUUTI" "2006","5" "2007","15" "2008","10" ---------------------------------------------------

fishfly
質問者

お礼

o123459876さん、 アドバイスありがとうございます。 勉強不足でwith句の読み方がよく分かっていません^^。 頂いた分、確認してじっくり読ませていただきます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう