2
Oracleでクエリを実行しようとしています。私は口座の決済のテーブルを持っている、私は最後の3つの決済された金額に加えて、私はこの情報が必要な任意の口座のために書かれた任意の金額を引き出すクエリを持っています。SQL Oracle /集約クエリ
しかし、アカウントの一部は週単位であり、これらのために週単位の決済を毎月のグループに集約したいと考えています。ここで私が持っているコードは、これまでのところです:
SELECT *
FROM (
SELECT *
FROM (
SELECT gwod.account_id,
gwod.charge_period_start,
SUM(gwod.total_due_on_charge) total_due_on_charge,
SUM(gwod.amount_written_off) amount_written_off,
DENSE_RANK() over (PARTITION BY gwod.account_id
ORDER BY charge_period_start DESC) rownumber
FROM report.accounts_write_off gwod
WHERE account_id IN (‘account_number’)
GROUP BY gwod.account_id,
gwod.charge_period_start
HAVING SUM (gwod.total_due_on_charge) <> 0) t1
WHERE t1.rownumber <=3)
PIVOT (MAX(charge_period_start) charge_period,
MAX(total_due_on_charge) total_due_on_charge,
MAX(amount_written_off) amount_written_off
FOR rownumber IN (1,2,3))
ORDER BY account_id.*
これは完全にはなく、毎週ベースのアカウントのために働く、そうではなく、決済された最後の週3つの量によって引っ張って、すなわち25-09-17、18-09 -17、11-09-2017、9月、8月、7月の合計支払い額を引き出したいと思います。
これはすべて意味があると思います。
IヘクタールオラクルのMONTH()関数が見当たらないのですが、どこで見つけましたか? – mathguy
Oracle DatabaseにMONTH()関数はありません。投稿したリンクはJAVADB用です。私はEXTRACT(...)を試す必要はありません。私はそれがうまくいくことを知っています - それはOracleでそれを行う正しい方法です。 – mathguy
また、 "私"のテーブルがテストするのはどういう意味ですか?私はOPではない。 – mathguy