一、回顧一下前面《Oracle開發(fā)之窗口函數(shù)》中關(guān)于全統(tǒng)計一節(jié),我們使用了Oracle提供的:
來統(tǒng)計全年的訂單總額,這個函數(shù)會在記錄集形成的過程中,每檢索一條記錄就執(zhí)行一次,它總共執(zhí)行了12次。這是非常費時的。實際上我們還有更簡便的方法:
MONTH MONTH_SALES WINDOW_SALES REPORT_SALES
---------- ----------- ------------ ------------
1 610697 6307766 6307766
2 428676 6307766 6307766
3 637031 6307766 6307766
4 541146 6307766 6307766
5 592935 6307766 6307766
6 501485 6307766 6307766
7 606914 6307766 6307766
8 460520 6307766 6307766
9 392898 6307766 6307766
10 510117 6307766 6307766
11 532889 6307766 6307766
12 492458 6307766 6307766
已選擇12行。
over函數(shù)的空括號表示該記錄集的所有記錄都應(yīng)該被列入統(tǒng)計的范圍,如果使用了partition by則先分區(qū),再依次統(tǒng)計各個分區(qū)。
二、RATIO_TO_REPORT函數(shù):
報表函數(shù)特(窗口函數(shù))特別適合于報表中需要同時顯示詳細(xì)數(shù)據(jù)和統(tǒng)計數(shù)據(jù)的情況。例如在銷售報告中經(jīng)常會出現(xiàn)這樣的需求:列出上一年度每個月的銷售總額、年底銷售額以及每個月的銷售額占全年總銷售額的比例:
方法①:
這是一種笨方法也是最易懂的方法。
方法②:
方法③
Oracle提供的Ratio_to_report函數(shù)允許我們計算每條記錄在其對應(yīng)記錄集或其子集中所占的比例。
以上就是Oracle報表函數(shù)用法的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持腳本之家。
標(biāo)簽:和田 甘肅 青島 周口 承德 開封 武漢 固原
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle開發(fā)之報表函數(shù)》,本文關(guān)鍵詞 Oracle,開,發(fā)之,報表,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。