婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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用法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    青青草精品视频| 播五月开心婷婷综合| 欧美日韩一区成人| 亚洲bdsm女犯bdsm网站| 欧美日韩一级二级| 美女脱光内衣内裤视频久久网站 | 91在线播放网址| 一区二区三区国产| 欧美日本不卡视频| 精品一二线国产| 亚洲欧洲www| 欧美一区二视频| 丁香一区二区三区| 亚洲伊人色欲综合网| 91精品国产91久久久久久最新毛片| 伦理电影国产精品| 国产欧美日韩精品一区| 在线精品视频小说1| 日日摸夜夜添夜夜添亚洲女人| 欧美videos大乳护士334| 成人午夜在线视频| 日韩二区在线观看| 久久精品一区二区三区av| 色女孩综合影院| 久久精品国产久精国产爱| 国产精品天干天干在线综合| 精品视频在线免费观看| 国产91精品精华液一区二区三区| 亚洲制服丝袜av| 久久久www成人免费无遮挡大片| 一本大道久久a久久综合| 久久国产日韩欧美精品| 最新中文字幕一区二区三区 | 午夜精品影院在线观看| 精品国产精品网麻豆系列| 在线观看av不卡| 成人免费电影视频| 久久精品国产精品亚洲红杏| 一级女性全黄久久生活片免费| 精品国产亚洲一区二区三区在线观看 | 欧美高清一级片在线| 国产麻豆午夜三级精品| 午夜视频一区在线观看| 中文字幕一区二区三区在线观看| 555夜色666亚洲国产免| 972aa.com艺术欧美| 国产一区二区调教| 日本免费新一区视频| 亚洲免费在线视频| 国产精品三级久久久久三级| 欧美videos中文字幕| 欧美精品电影在线播放| 91片黄在线观看| 国产91丝袜在线观看| 看电视剧不卡顿的网站| 亚洲国产综合人成综合网站| 亚洲欧美色综合| 国产精品毛片无遮挡高清| 久久综合久久久久88| 欧美不卡一区二区三区四区| 在线成人高清不卡| 欧美久久一二区| 欧美精品丝袜久久久中文字幕| 色哟哟亚洲精品| 97久久超碰精品国产| 99热这里都是精品| 91农村精品一区二区在线| www.成人在线| 91麻豆免费在线观看| 99久久综合国产精品| 不卡av在线网| 成人av免费网站| 91在线观看视频| 色欧美乱欧美15图片| 欧美日韩在线不卡| 欧美日韩电影在线播放| 欧美电影一区二区| 日韩三级av在线播放| 久久综合成人精品亚洲另类欧美 | 久久女同互慰一区二区三区| 久久伊人蜜桃av一区二区| 久久久久久电影| 国产精品欧美一区二区三区| 国产精品久久午夜| 亚洲另类中文字| 亚洲va韩国va欧美va精品| 三级精品在线观看| 国产在线视频一区二区| 国产成人精品综合在线观看 | 亚洲国产精品一区二区www在线| 亚洲一区中文日韩| 秋霞影院一区二区| 国产乱码精品一区二区三区五月婷| 国产盗摄一区二区三区| jlzzjlzz亚洲日本少妇| 精品视频在线看| 精品福利一二区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲另类春色国产| 日韩福利视频导航| 成人黄色一级视频| 欧美三级电影网站| 久久久久国产精品麻豆ai换脸| 国产精品视频yy9299一区| 亚洲一区二区三区四区在线免费观看 | 亚洲精品国产视频| 奇米四色…亚洲| jlzzjlzz亚洲女人18| 欧美日本在线播放| 国产免费久久精品| 亚洲风情在线资源站| 国内外精品视频| 91国在线观看| 久久精品亚洲国产奇米99| 亚洲午夜一二三区视频| 国产v日产∨综合v精品视频| 欧洲色大大久久| 国产精品色在线观看| 免费观看30秒视频久久| 一本大道久久精品懂色aⅴ| 久久影院午夜片一区| 亚洲一区二区精品3399| 国产xxx精品视频大全| 欧美一区二区视频在线观看2022| 国产精品久久99| 日韩电影免费在线观看网站| 波多野结衣中文字幕一区| 日韩女优毛片在线| 亚洲午夜精品在线| 99久久免费视频.com| 精品国产人成亚洲区| 日韩国产欧美在线播放| 91成人在线免费观看| 国产欧美精品区一区二区三区| 日韩福利电影在线观看| 欧美日韩综合不卡| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 免费在线看成人av| 欧美日韩在线一区二区| 一区二区三区精品视频在线| 懂色av一区二区三区蜜臀| 久久综合中文字幕| 久久99九九99精品| 欧美肥胖老妇做爰| 天天做天天摸天天爽国产一区| 色噜噜狠狠色综合欧洲selulu| 日本一区二区成人在线| 国产高清精品久久久久| 26uuu另类欧美| 九一九一国产精品| 精品国产免费久久| 久久99精品久久久| 日韩欧美久久一区| 开心九九激情九九欧美日韩精美视频电影| 欧美性大战久久久| 亚洲a一区二区| 欧美探花视频资源| 视频一区二区欧美| 538prom精品视频线放| 日韩成人一区二区| 欧美电影精品一区二区| 精品中文字幕一区二区小辣椒 | 国产精品美女一区二区在线观看| 国内精品在线播放| 久久青草国产手机看片福利盒子| 国产欧美日韩卡一| 91视频www| 丰满少妇久久久久久久| 亚洲夂夂婷婷色拍ww47| 欧美少妇一区二区| 午夜视频一区二区| 日韩一区二区三区在线视频| 狠狠色丁香久久婷婷综合_中| 精品国产三级a在线观看| 国产盗摄视频一区二区三区| 国产精品乱码一区二区三区软件| 不卡一区二区三区四区| 亚洲精品久久久久久国产精华液| 91激情在线视频| 七七婷婷婷婷精品国产| 精品久久久久久无| 成人h精品动漫一区二区三区| 亚洲免费观看视频| 欧美高清视频在线高清观看mv色露露十八| 婷婷久久综合九色综合绿巨人| 日韩一区二区三区视频在线观看| 国产伦精一区二区三区| 成人免费在线视频| 3atv一区二区三区| 成人性生交大片免费| 午夜精品福利久久久| 久久精品无码一区二区三区| 色综合视频在线观看| 免费成人在线观看| 国产精品女人毛片| 欧美精品三级日韩久久| 成人精品亚洲人成在线| 天天色图综合网| 国产精品无码永久免费888| 欧美日韩国产首页|