亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Oracle開發之分析函數簡介Over用法

Oracle開發之分析函數簡介Over用法

熱門標簽:哈爾濱電話機器人銷售招聘 地圖標注養老院 愛客外呼系統怎么樣 開發外呼系統 哪個400外呼系統好 慧營銷crm外呼系統丹丹 圖吧網站地圖標注 百度地圖標注途經點 山東crm外呼系統軟件

一、Oracle分析函數簡介:

在日常的生產環境中,我們接觸得比較多的是OLTP系統(即Online Transaction Process),這些系統的特點是具備實時要求,或者至少說對響應的時間多長有一定的要求;其次這些系統的業務邏輯一般比較復雜,可能需要經過多次的運算。比如我們經常接觸到的電子商城。

在這些系統之外,還有一種稱之為OLAP的系統(即Online Aanalyse Process),這些系統一般用于系統決策使用。通常和數據倉庫、數據分析、數據挖掘等概念聯系在一起。這些系統的特點是數據量大,對實時響應的要求不高或者根本不關注這方面的要求,以查詢、統計操作為主。

我們來看看下面的幾個典型例子:
①查找上一年度各個銷售區域排名前10的員工
②按區域查找上一年度訂單總額占區域訂單總額20%以上的客戶
③查找上一年度銷售最差的部門所在的區域
④查找上一年度銷售最好和最差的產品

我們看看上面的幾個例子就可以感覺到這幾個查詢和我們日常遇到的查詢有些不同,具體有:

①需要對同樣的數據進行不同級別的聚合操作
②需要在表內將多條數據和同一條數據進行多次的比較
③需要在排序完的結果集上進行額外的過濾操作

二、Oracle分析函數簡單實例:

下面我們通過一個實際的例子:按區域查找上一年度訂單總額占區域訂單總額20%以上的客戶,來看看分析函數的應用。

【1】測試環境:

復制代碼 代碼如下:
SQL> desc orders_tmp;

 Name                           Null?    Type
 ----------------------- -------- ----------------
 CUST_NBR                    NOT NULL NUMBER(5)
 REGION_ID                   NOT NULL NUMBER(5)
 SALESPERSON_ID      NOT NULL NUMBER(5)
 YEAR                              NOT NULL NUMBER(4)
 MONTH                         NOT NULL NUMBER(2)
 TOT_ORDERS              NOT NULL NUMBER(7)
 TOT_SALES                 NOT NULL NUMBER(11,2)

【2】測試數據:

復制代碼 代碼如下:
SQL> select * from orders_tmp;

  CUST_NBR  REGION_ID SALESPERSON_ID       YEAR      MONTH TOT_ORDERS  TOT_SALES
---------- ---------- -------------- ---------- ---------- ---------- ----------
        11          7             11                       2001          7          2      12204
         4          5              4                         2001         10         2      37802
         7          6              7                         2001          2          3       3750
        10          6              8                        2001          1          2      21691
        10          6              7                        2001          2          3      42624
        15          7             12                       2000          5          6         24
        12          7              9                        2000          6          2      50658
         1          5              2                         2000          3          2      44494
         1          5              1                         2000          9          2      74864
         2          5              4                         2000          3          2      35060
         2          5              4                         2000          4          4       6454
         2          5              1                         2000         10          4      35580
         4          5              4                         2000         12          2      39190

13 rows selected.

【3】測試語句:

復制代碼 代碼如下:
SQL> select o.cust_nbr customer,
  o.region_id region,
  sum(o.tot_sales) cust_sales,
  sum(sum(o.tot_sales)) over(partition by o.region_id) region_sales
from orders_tmp o
where o.year = 2001
 group by o.region_id, o.cust_nbr;

  CUSTOMER     REGION CUST_SALES REGION_SALES
---------- ---------- ---------- ------------
         4              5      37802        37802
         7              6       3750         68065
        10             6      64315        68065
        11             7      12204        12204

三、分析函數OVER解析:

請注意上面的綠色高亮部分,group by的意圖很明顯:將數據按區域ID,客戶進行分組,那么Over這一部分有什么用呢?假如我們只需要統計每個區域每個客戶的訂單總額,那么我們只需要group by o.region_id,o.cust_nbr就夠了。但我們還想在每一行顯示該客戶所在區域的訂單總額,這一點和前面的不同:需要在前面分組的基礎上按區域累加。很顯然group by和sum是無法做到這一點的(因為聚集操作的級別不一樣,前者是對一個客戶,后者是對一批客戶)。

這就是over函數的作用了!它的作用是告訴SQL引擎:按區域對數據進行分區,然后累積每個區域每個客戶的訂單總額(sum(sum(o.tot_sales)))。

現在我們已經知道2001年度每個客戶及其對應區域的訂單總額,那么下面就是篩選那些個人訂單總額占到區域訂單總額20%以上的大客戶了

復制代碼 代碼如下:
SQL> select *
from (select o.cust_nbr customer,
     o.region_id region,
     sum(o.tot_sales) cust_sales,
     sum(sum(o.tot_sales)) over(partition by o.region_id) region_sales
   from orders_tmp o
   where o.year = 2001
   group by o.region_id, o.cust_nbr) all_sales
 where all_sales.cust_sales > all_sales.region_sales * 0.2;

  CUSTOMER     REGION CUST_SALES REGION_SALES
---------- ---------- ---------- ------------
         4          5      37802        37802
        10          6      64315        68065
        11          7      12204        12204

SQL>

現在我們已經知道這些大客戶是誰了!哦,不過這還不夠,如果我們想要知道每個大客戶所占的訂單比例呢?看看下面的SQL語句,只需要一個簡單的Round函數就搞定了。

復制代碼 代碼如下:
SQL> select all_sales.*,
  100 * round(cust_sales / region_sales, 2) || '%' Percent
from (select o.cust_nbr customer,
   o.region_id region,
   sum(o.tot_sales) cust_sales,
   sum(sum(o.tot_sales)) over(partition by o.region_id) region_sales
  from orders_tmp o
  where o.year = 2001
  group by o.region_id, o.cust_nbr) all_sales
where all_sales.cust_sales > all_sales.region_sales * 0.2;

  CUSTOMER     REGION CUST_SALES REGION_SALES PERCENT
---------- ---------- ---------- ------------ ----------------------------------------
         4            5                  37802        37802    100%
        10           6                  64315        68065      94%
        11           7                  12204        12204    100%

SQL>

總結:

①Over函數指明在那些字段上做分析,其內跟Partition by表示對數據進行分組。注意Partition by可以有多個字段。

②Over函數可以和其它聚集函數、分析函數搭配,起到不同的作用。例如這里的SUM,還有諸如Rank,Dense_rank等。

您可能感興趣的文章:
  • oracle數據庫中sql%notfound的用法詳解
  • Oracle中的INSTR,NVL和SUBSTR函數的用法詳解
  • Oracle minus用法詳解及應用實例
  • oracle數據庫定時任務dbms_job的用法詳解
  • Oracle存儲過程游標用法分析
  • 講解Oracle數據庫中的數據字典及相關SQL查詢用法
  • Oracle中游標Cursor基本用法詳解

標簽:周口 開封 固原 武漢 青島 甘肅 承德 和田

巨人網絡通訊聲明:本文標題《Oracle開發之分析函數簡介Over用法》,本文關鍵詞  Oracle,開,發之,分析,函數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle開發之分析函數簡介Over用法》相關的同類信息!
  • 本頁收集關于Oracle開發之分析函數簡介Over用法的相關信息資訊供網民參考!
  • 推薦文章
    欧美国产日韩在线| 欧美18性精品| 99久久精品费精品国产一区二区| 国产一区二区精品久久91| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产视频网站在线观看| 日本免费看视频| 台湾美女古装一级毛片| 国产a视频| 国产一区二区精品| 国产高清在线精品一区a| 欧美激情一区二区三区在线| 亚洲精品久久久中文字| 日韩女人做爰大片| 91麻豆精品国产高清在线| 成人免费观看网欧美片| 欧美a级v片不卡在线观看| 亚洲女初尝黑人巨高清在线观看| 欧美另类videosbestsex久久| 色综合久久手机在线| 91麻豆精品国产片在线观看| 天天做人人爱夜夜爽2020| 天天色成人网| 精品视频在线观看一区二区| 99色视频在线| 成人高清视频在线观看| 99热精品在线| 91麻豆精品国产自产在线观看一区 | 日韩一级黄色大片| 日韩中文字幕一区二区不卡| 成人影院一区二区三区| 国产成人啪精品| 国产a视频| 久久精品欧美一区二区| 日韩中文字幕在线观看视频| 国产欧美精品| 欧美激情中文字幕一区二区| 成人影视在线播放| 欧美国产日韩久久久| 日韩欧美一及在线播放| 成人高清视频免费观看| 午夜久久网| 青青久热| 国产综合91天堂亚洲国产| 国产成人女人在线视频观看| 999精品影视在线观看| 国产成人精品影视| 国产一区二区精品久久| 欧美国产日韩精品| 国产成人精品综合在线| 国产美女在线观看| 成人高清视频在线观看| 四虎久久影院| 91麻豆精品国产自产在线观看一区 | 国产视频一区二区在线播放| 97视频免费在线观看| 精品视频一区二区| 天天色色网| 欧美激情影院| 亚欧成人毛片一区二区三区四区| 99久久精品国产高清一区二区 | 日本伦理黄色大片在线观看网站| 久久福利影视| 97视频免费在线观看| 精品视频一区二区三区免费| 亚欧乱色一区二区三区| 成人a级高清视频在线观看| 精品视频在线看 | 一级女性大黄生活片免费| 成人高清视频免费观看| 久久成人亚洲| 日韩在线观看视频黄| 99久久精品国产高清一区二区 | 夜夜操网| 国产极品白嫩美女在线观看看| 成人免费一级毛片在线播放视频| 国产不卡在线观看| 天天做人人爱夜夜爽2020| 999精品影视在线观看| 日韩男人天堂| 日本在线不卡免费视频一区| 九九久久国产精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本在线www| 国产伦理精品| 午夜在线亚洲男人午在线| 免费国产一级特黄aa大片在线| 黄视频网站在线观看| 免费国产一级特黄aa大片在线| 亚洲精品久久久中文字| 久久精品欧美一区二区| 国产视频网站在线观看| 一级女性大黄生活片免费| 国产一区二区精品久久91| 久久精品成人一区二区三区| 免费毛片播放| 麻豆午夜视频| 99久久精品国产麻豆| 可以在线看黄的网站| 精品在线视频播放| 久久福利影视| 欧美1区| 高清一级毛片一本到免费观看| 久久国产精品只做精品| 亚洲爆爽| 国产伦久视频免费观看视频| 久久国产精品自线拍免费| 美女免费精品高清毛片在线视| 日韩免费在线视频| 四虎久久精品国产| 日本特黄特色aaa大片免费| 可以免费看毛片的网站| 中文字幕一区二区三区 精品| 可以免费看污视频的网站| 成人免费网站久久久| 免费一级片网站| 精品视频在线观看视频免费视频| 亚久久伊人精品青青草原2020| 国产a免费观看| 97视频免费在线观看| 久久国产精品永久免费网站| 久久99青青久久99久久| 精品在线观看一区| 高清一级片| 国产91素人搭讪系列天堂| 午夜欧美成人香蕉剧场| 99久久精品国产国产毛片 | 免费国产在线视频| 可以免费看毛片的网站| 一本高清在线| 日本在线不卡视频| 国产成人啪精品| 精品视频免费观看| 青青青草影院 | 日韩中文字幕一区二区不卡| 免费一级片网站| 成人免费福利片在线观看| 国产国产人免费视频成69堂| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人高清视频免费观看| 久久99中文字幕| 午夜在线观看视频免费 成人| 亚洲精品久久玖玖玖玖| 日韩av成人| 二级特黄绝大片免费视频大片| 亚洲 欧美 成人日韩| 精品视频免费在线| 日日爽天天| 欧美激情中文字幕一区二区| 高清一级淫片a级中文字幕 | 97视频免费在线| 精品在线免费播放| 精品国产香蕉在线播出 | 久久久久久久免费视频| 成人免费观看男女羞羞视频| 青青久久精品国产免费看| 高清一级片| 青草国产在线| 国产不卡在线播放| 国产视频一区二区在线观看| 精品国产一区二区三区久久久狼 | 日日夜夜婷婷| 黄色免费三级| 日韩中文字幕在线亚洲一区| 成人a大片高清在线观看| 日韩在线观看视频黄| 久久国产精品只做精品| 欧美激情一区二区三区视频| 韩国三级香港三级日本三级la| 夜夜操网| 精品毛片视频| 国产一级生活片| 午夜欧美成人久久久久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人在免费观看视频国产| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人高清视频免费观看| 成人a级高清视频在线观看| 亚洲精品永久一区| 亚洲精品影院一区二区| 可以免费看毛片的网站| 国产网站在线| 麻豆网站在线看| 亚州视频一区二区| 日韩欧美一二三区| 欧美日本免费| 午夜欧美成人香蕉剧场| 可以免费看污视频的网站| 欧美激情一区二区三区视频高清| 国产成人啪精品视频免费软件| 国产一区二区高清视频| 日本伦理片网站| 精品久久久久久中文字幕2017| 国产视频一区二区在线播放| 999精品视频在线| 高清一级片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产麻豆精品hdvideoss| 欧美国产日韩在线| 天堂网中文在线|