2
我試圖在Oracle上運行查詢。我有一個帳戶結算付款表,我有一個查詢,可以查看最後三筆結算金額,以及任何已註銷的金額,用於我需要此信息的任何帳戶。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.*
這工作完全但每週根據賬戶,因此而不是通過過去三年每週量來進行結算拉動,即25-09-17,18-09 -17,2017年9月9日,我想通過9月,8月和7月的總計付款。
我希望這一切都有道理。
我公頃在Oracle中沒有看到MONTH()函數,您在哪裏找到它? – mathguy
Oracle數據庫中沒有MONTH()函數。您發佈的鏈接是用於JAVADB的。我不需要嘗試EXTRACT(...),我知道它會起作用 - 這是在Oracle中執行此操作的正確方法。 – mathguy
另外 - 你的意思是「我的」表測試?我不是OP。 – mathguy