日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle 分析函數的使用一

瀏覽:230日期:2023-11-26 11:37:26
分析函數是Oracle816引入的一個全新的概念,為我們分析數據提供了一種簡單高效的處理方式.在分析函數出現以前,我們必須使用自聯查詢,子查詢或者內聯視圖,甚至復雜的存儲過程實現的語句,現在只要一條簡單的sql語句就可以實現了,而且在執行效率方面也有相當大的提高.下面我將針對分析函數做一些具體的說明.今天我主要給大家介紹一下以下幾個函數的使用方法1.; 自動匯總函數rollup,cube,2.; rank 函數, rank,dense_rank,row_number3.;;;;;lag,lead函數4.;;;;;sum,avg,的移動增加,移動平均數5.;;;;;ratio_to_report報表處理函數6.;;;;;first,last取基數的分析函數基礎數據; Code:;;;;;[Copy to clipboard]06:34:23 SQL> select * from t;BILL_MONTH;;;AREA_CODE; NET_TYPE;;;;LOCAL_FARE--------------- ---------- ---------- --------------200405; 5761;;;;G;;;7393344.04200405; 5761;;;;J;;;5667089.85200405;;;;;;;5762;;;;G;;;6315075.96200405; 5762;;;;J;;;6328716.15200405; 5763;;;;G;;;8861742.59200405; 5763;;;;J;;;7788036.32200405; 5764;;;;G;;;6028670.45200405; 5764;;;;J;;;6459121.49200405; 5765;;;;G;;13156065.77200405; 5765;;;;J;;11901671.70200406; 5761;;;;G;;;7614587.96200406; 5761;;;;J;;;5704343.05200406; 5762;;;;G;;;6556992.60200406; 5762;;;;J;;;6238068.05200406; 5763;;;;G;;;9130055.46200406; 5763;;;;J;;;7990460.25200406; 5764;;;;G;;;6387706.01200406; 5764;;;;J;;;6907481.66200406; 5765;;;;G;;13562968.81200406; 5765;;;;J;;12495492.50200407; 5761;;;;G;;;7987050.65200407; 5761;;;;J;;;5723215.28200407; 5762;;;;G;;;6833096.68200407; 5762;;;;J;;;6391201.44200407; 5763;;;;G;;;9410815.91200407; 5763;;;;J;;;;;;;;;;;8076677.41200407; 5764;;;;G;;;6456433.23200407; 5764;;;;J;;;6987660.53200407; 5765;;;;G;;14000101.20200407; 5765;;;;J;;12301780.20200408; 5761;;;;G;;;8085170.84200408; 5761;;;;J;;;6050611.37200408; 5762;;;;G;;;6854584.22200408; 5762;;;;J;;;6521884.50200408; 5763;;;;G;;;9468707.65200408; 5763;;;;J;;;8460049.43200408; 5764;;;;G;;;6587559.23BILL_MONTH;;;AREA_CODE; NET_TYPE;;;;LOCAL_FARE--------------- ---------- ---------- --------------200408; 5764;;;;J;;;7342135.86200408; 5765;;;;G;;14450586.63200408; 5765;;;;J;;12680052.3840 rows selected.Elapsed: 00:00:00.001. 使用rollup函數的介紹Quote:; 下面是直接使用普通sql語句求出各地區的匯總數據的例子06:41:36 SQL> set autot on06:43:36 SQL> select area_code,sum(local_fare) local_fare06:43:502; from t06:43:513; group by area_code06:43:574; union all06:44:005; select '合計' area_code,sum(local_fare) local_fare06:44:066; from t06:44:087; /AREA_CODE;;;LOCAL_FARE---------- --------------5761; 54225413.045762; 52039619.605763; 69186545.025764; 53156768.465765 104548719.19合計 333157065.316 rows selected.Elapsed: 00:00:00.03Execution Plan----------------------------------------------------------0;;;SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=1310 Bytes=; 24884)1;0UNION-ALL2;1;;SORT (GROUP BY) (Cost=5 Card=1309 Bytes=24871)3;2;;;;TABLE Access (FULL) OF 'T' (Cost=2 Card=1309 Bytes=248; 71)4;1;;SORT (AGGREGATE)5;4;;;;TABLE ACCESS (FULL) OF 'T' (Cost=2 Card=1309 Bytes=170; 17)Statistics----------------------------------------------------------;;;;;;;0; recursive calls; 0; db block gets; 6; consistent gets; 0; physical reads; 0; redo size;;;;;561; bytes sent via SQL*Net to client;;;;;503; bytes received via SQL*Net from client; 2; SQL*Net roundtrips to/from client; 1; sorts (memory); 0; sorts (disk); 6; rows processed下面是使用分析函數rollup得出的匯總數據的例子06:44:09 SQL> select nvl(area_code,'合計') area_code,sum(local_fare) local_fare06:45:262; from t06:45:303; group by rollup(nvl(area_code,'合計'))06:45:504; /AREA_CODE;;;LOCAL_FARE---------- --------------5761; 54225413.045762; 52039619.605763; 69186545.025764; 53156768.465765 104548719.19;;;;;;;;;;333157065.316 rows selected.Elapsed: 00:00:00.00Execution Plan----------------------------------------------------------0;;;SELECT STATEMENT Optimizer=ALL_ROWS (Cost=5 Card=1309 Bytes=; 24871)1;0SORT (GROUP BY ROLLUP) (Cost=5 Card=1309 Bytes=24871)2;1;;TABLE ACCESS (FULL) OF 'T' (Cost=2 Card=1309 Bytes=24871; )Statistics----------------------------------------------------------; 0; recursive calls;;;;;;;0; db block gets; 4; consistent gets; 0; physical reads; 0; redo size;;;;;557; bytes sent via SQL*Net to client;;;;;503; bytes received via SQL*Net from client; 2; SQL*Net roundtrips to/from client; 1; sorts (memory); 0; sorts (disk); 6; rows processed從上面的例子我們不難看出使用rollup函數,系統的sql語句更加簡單,耗用的資源更少,從6個consistent gets降到4個consistent gets,假如基表很大的話,結果就可想而知了.1. 使用cube函數的介紹Quote:為了介紹cube函數我們再來看看另外一個使用rollup的例子06:53:00 SQL> select area_code,bill_month,sum(local_fare) local_fare06:53:372; from t06:53:383; group by rollup(area_code,bill_month)06:53:494; /AREA_CODE; BILL_MONTH; LOCAL_FARE---------- --------------- --------------5761;;;;200405;;13060433.895761;;;;200406;;13318931.015761;;;;200407;;13710265.935761;;;;200408;;14135782.215761; 54225413.045762;;;;200405;;12643792.115762;;;;200406;;12795060.655762;;;;200407;;13224298.125762;;;;200408;;13376468.725762; 52039619.605763;;;;200405;;16649778.915763;;;;200406;;17120515.715763;;;;200407;;17487493.325763;;;;200408;;17928757.085763; 69186545.025764;;;;200405;;12487791.945764;;;;200406;;13295187.675764;;;;200407;;13444093.765764;;;;200408;;13929695.095764; 53156768.465765;;;;200405;;25057737.475765;;;;200406;;26058461.315765;;;;200407;;26301881.405765;;;;200408;;27130639.015765;;;;;;104548719.19;;333157065.3126 rows selected.Elapsed: 00:00:00.00系統只是根據rollup的第一個參數area_code對結果集的數據做了匯總處理,而沒有對bill_month做匯總分析處理,cube函數就是為了這個而設計的.下面,讓我們看看使用cube函數的結果06:58:02 SQL> select area_code,bill_month,sum(local_fare) local_fare06:58:302; from t06:58:323; group by cube(area_code,bill_month)06:58:424; order by area_code,bill_month nulls last06:58:575; /AREA_CODE; BILL_MONTH; LOCAL_FARE---------- --------------- --------------5761;;;;200405;;;;;13060.435761;;;;200406;;;;;13318.935761;;;;200407;;;;;13710.275761;;;;200408;;;;;14135.785761;;54225.415762; ;;;;;200405;;;;;12643.795762;;;;200406;;;;;12795.065762;;;;200407;;;;;13224.305762;;;;200408;;;;;13376.475762;;52039.625763;;;;200405;;;;;16649.785763;;;;200406;;;;;17120.525763;;;;200407;;;;;17487.495763;;;;200408;;;;;17928.765763;;69186.545764;;;;200405;;;;;12487.795764;;;;200406;;;;;13295.195764;;;;200407;;;;;13444.095764;;;;200408;;;;;13929.695764;;53156.775765;;;;200405;;;;;25057.745765;;;;200406;;;;;26058.465765;;;;200407;;;;;26301.885765;;;;200408;;;;;27130.645765;104548.72200405;;;;;79899.53200406;;;;;82588.15200407;;;;;84168.03200408;;;;;86501.34;;;;;333157.0530 rows selected.Elapsed: 00:00:00.01可以看到,在cube函數的輸出結果比使用rollup多出了幾行統計數據.這就是cube函數根據bill_month做的匯總統計結果] 1 rollup 和 cube函數的再深入Quote:從上面的結果中我們很輕易發現,每個統計數據所對應的行都會出現null,我們如何來區分到底是根據那個字段做的匯總呢,這時候,oracle的grouping函數就粉墨登場了.假如當前的匯總記錄是利用該字段得出的,grouping函數就會返回1,否則返回0; 1; select decode(grouping(area_code),1,'all area',to_char(area_code)) area_code,; 2 decode(grouping(bill_month),1,'all month',bill_month) bill_month,; 3 sum(local_fare) local_fare; 4; from t; 5; group by cube(area_code,bill_month); 6* order by area_code,bill_month nulls last07:07:29 SQL> /AREA_CODE; BILL_MONTH; LOCAL_FARE---------- --------------- --------------5761;;;;200405;;;;;13060.43 5761;;;;200406;;;;;13318.935761;;;;200407;;;;;13710.275761;;;;200408;;;;;14135.785761;;;;all month;;54225.415762;;;;200405;;;;;12643.795762;;;;200406;;;;;12795.065762;;;;200407;;;;;13224.305762;;;;200408;;;;;13376.475762;;;;all month;;52039.625763;;;;200405;;;;;16649.785763;;;;200406;;;;;17120.525763;;;;200407;;;;;17487.49 5763;;;;200408;;;;;17928.765763;;;;all month;;69186.545764;;;;200405;;;;;12487.795764;;;;200406;;;;;13295.195764;;;;200407;;;;;13444.095764;;;;200408;;;;;13929.695764;;;;all month;;53156.775765;;;;200405;;;;;25057.745765;;;;200406;;;;;26058.465765;;;;200407;;;;;26301.885765;;;;200408;;;;;27130.645765;;;;all month;104548.72 all area200405;;;;;79899.53all area200406;;;;;82588.15all area200407;;;;;84168.03all area200408;;;;;86501.34all areaall month;333157.0530 rows selected.Elapsed: 00:00:00.0107:07:31 SQL>可以看到,所有的空值現在都根據grouping函數做出了很好的區分,這樣利用rollup,cube和grouping函數,我們做數據統計的時候就可以輕松很多了.
標簽: Oracle 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲二区精品| 亚洲精品欧美| 国产欧美一区二区色老头| 国产亚洲激情| 国产99在线| 开心激情综合| 麻豆91小视频| 久久精品国产久精国产| 国产精品v日韩精品v欧美精品网站| 亚洲乱亚洲高清| 亚洲一区二区三区中文字幕在线观看| 亚洲一区日本| 视频一区二区三区在线| 日本大胆欧美人术艺术动态| 免费人成黄页网站在线一区二区| 国产精品一区免费在线| 国产日韩亚洲欧美精品| 久久国产视频网| 国产精品黄网站| 国产欧美另类| 国产精品15p| 中文字幕在线看片| 久久亚洲成人| 亚洲一区日韩| 欧美日韩一视频区二区| 麻豆精品久久| 三级精品视频| 精品91久久久久| 亚洲人亚洲人色久| 欧美亚洲网站| 国产一区二区三区四区五区| 日韩在线短视频| 在线亚洲国产精品网站| 日韩中出av| 免费在线成人| 蜜桃av在线播放| 亚洲一区区二区| 国产精品**亚洲精品| 精品日韩视频| 亚洲欧洲美洲国产香蕉| 精品色999| 激情综合网站| 国产剧情在线观看一区| 日韩精品网站| 亚洲精品美女91| 久久精品五月| 亚洲精华国产欧美| 国产欧美丝祙| 国产综合视频| 日韩精品国产欧美| 亚洲三级av| 精品一区二区三区免费看| 久久蜜桃精品| 丝袜美腿高跟呻吟高潮一区| 日韩激情精品| 日韩电影二区| 老司机精品久久| 国产欧美丝祙| 日本精品在线中文字幕| 老司机久久99久久精品播放免费| 日韩国产欧美在线播放| 久久不见久久见免费视频7| av资源新版天堂在线| 亚洲福利一区| 在线精品亚洲| 久久国产精品色av免费看| sm捆绑调教国产免费网站在线观看| 蜜桃国内精品久久久久软件9| 亚洲欧美日韩国产一区二区| 久久国际精品| 亚洲a一区二区三区| 亚洲一二三区视频| 国产精品白丝久久av网站| 久久亚洲成人| 国产日产一区| 久久久久久久久久久9不雅视频| 天堂成人免费av电影一区| 久久国产精品色av免费看| 久久精品青草| 怡红院精品视频在线观看极品| 国产欧美一级| 午夜国产精品视频| 日韩av一区二区三区四区| 久久在线免费| 国产欧美大片| 亚洲黄色影院| 精品亚洲免a| 亚洲一区二区三区久久久| 成人三级高清视频在线看| 另类av一区二区| 四虎国产精品免费观看| 在线精品福利| 久久久蜜桃一区二区人| 亚洲精品一级二级三级| 精品免费在线| 视频在线观看91| 国产精品久久久久蜜臀| 综合激情一区| 香蕉视频亚洲一级| 国产亚洲久久| 久久中文字幕av| 国产精品久久久一区二区| 日韩视频一区| 国产一区2区在线观看| 亚洲激情中文在线| 久久精品三级| 青草av.久久免费一区| 性色av一区二区怡红| 97精品一区二区| 欧美日韩va| 欧美特黄a级高清免费大片a级| 嫩草伊人久久精品少妇av杨幂| 午夜日韩福利| 亚洲深夜视频| 国产精品久久免费视频| 一区二区高清| 久久影视一区| 日本一区二区高清不卡| 日韩不卡一二三区| 天堂网av成人| 欧美13videosex性极品| 国产精品地址| 日韩不卡一区二区| 久久成人一区| 欧美不卡在线| 美女在线视频一区| 欧美中文高清| 老色鬼久久亚洲一区二区| 99视频精品全国免费| 国产成人a视频高清在线观看| 在线观看一区| 亚洲欧美激情诱惑| 欧美日韩一二三四| 日韩专区精品| 日韩av免费大片| 国产精品久久久久9999高清| 亚洲a成人v| 老牛国产精品一区的观看方式| 久久久久中文| 亚洲精品.com| 久久久国产精品入口麻豆| 成人日韩av| 蜜桃精品视频| 欧美黑人做爰爽爽爽| 国产精品主播| 国产精品探花在线观看| 久久国产免费看| 久久国产人妖系列| 欧美亚洲国产日韩| 国产欧美久久一区二区三区| 欧美资源在线| 亚洲精品欧美| 天堂va欧美ⅴa亚洲va一国产| 亚洲一级大片| 青青草91久久久久久久久| 日韩中文欧美在线| 日韩制服丝袜先锋影音| 亚洲欧美网站在线观看| 日韩在线一二三区| 亚洲精品日韩久久| 日韩激情网站| 国产精品亲子伦av一区二区三区| 国产精品亚洲二区| 欧美伊人久久| 精品欧美日韩精品| 日韩久久精品网| 日韩精品水蜜桃| 在线精品小视频| 亚洲一区二区三区高清不卡| 美国欧美日韩国产在线播放| 亚洲一区黄色| 日韩欧美2区| 欧美视频精品全部免费观看| 精品一区二区三区中文字幕在线| 精品中文在线| 蜜桃精品在线| 婷婷综合在线| 亚洲天堂日韩在线| 国产精品magnet| 91综合视频| 欧美女激情福利| 欧美亚洲一级| 午夜av不卡| 美日韩精品视频| 欧美影院视频| 久久免费视频66| 色88888久久久久久影院| 在线亚洲成人| 青青国产91久久久久久| 国产精品麻豆成人av电影艾秋| 成人一二三区| 欧美午夜精彩| 婷婷综合电影| 麻豆国产精品一区二区三区| 日韩精品2区| 亚洲在线电影| 国产视频网站一区二区三区| 国产不卡人人| 日韩精品第一| 久久久精品网|