精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Oracle分析函數(shù)

開發(fā) 開發(fā)工具
數(shù)據(jù)庫中的函數(shù)封裝了一些通用的功能,例如日期類型和字符串類型之間的轉(zhuǎn)換,每個(gè)數(shù)據(jù)庫系統(tǒng)都內(nèi)置了一些函數(shù),當(dāng)然用戶也可以自定義函數(shù)。

數(shù)據(jù)庫中的函數(shù)封裝了一些通用的功能,例如日期類型和字符串類型之間的轉(zhuǎn)換,每個(gè)數(shù)據(jù)庫系統(tǒng)都內(nèi)置了一些函數(shù),當(dāng)然用戶也可以自定義函數(shù)。

在Oracle數(shù)據(jù)庫中,函數(shù)可總分為單行函數(shù)、分組函數(shù)「亦稱聚合函數(shù)」、分析函數(shù)三類。

單行函數(shù)

單行函數(shù)分為五種類型:字符函數(shù)、數(shù)值函數(shù)、日期函數(shù)、轉(zhuǎn)換函數(shù)、通用函數(shù)。比如:

--大小寫控制函數(shù)

select lower('Hello World') 轉(zhuǎn)小寫, upper('Hello World') 轉(zhuǎn)大寫 from dual;

--initcap: 首字母大寫

select initcap('hello world') 首字符大寫 from dual;

--字符控制函數(shù)

-- concat: 字符連接函數(shù), 等同于 ||

  1. select concat('Hello',' World'from dual; 

分組函數(shù)

分組函數(shù)「亦稱聚合函數(shù)」能在select或select的having子句中使用,當(dāng)用于select子串時(shí)常常都和GROUP BY一起使用。多行函數(shù)分為接收多個(gè)輸入,返回一個(gè)輸出。比如:

--分組數(shù)據(jù):求各個(gè)部門的平均工資

  1. select deptno,avg(sal) from emp group by deptno; 

--group by作用于多列: 按部門,不同的工種,統(tǒng)計(jì)平均工資

--group by作用于多列:先按照***列分組;如果相同,再按照第二列分組

  1. select deptno,job,avg(sal) from emp group by deptno,job; 

--:求部門的平均工資大于2000的部門

  1. select deptno,avg(sal) from emp group by deptno having avg(sal)>2000; 

分析函數(shù)

分析函數(shù)是Oracle專門用于解決復(fù)雜報(bào)表統(tǒng)計(jì)需求的功能強(qiáng)大的函數(shù),它可以在數(shù)據(jù)中進(jìn)行分組然后計(jì)算基于組的某種統(tǒng)計(jì)值,并且每一組的每一行都可以返回一個(gè)統(tǒng)計(jì)值,為我們分析數(shù)據(jù)提供了一種簡(jiǎn)單高效的處理方式。

在分析函數(shù)出現(xiàn)以前,我們必須使用自聯(lián)查詢,子查詢或者內(nèi)聯(lián)視圖,甚至復(fù)雜的存儲(chǔ)過程實(shí)現(xiàn)的語句,現(xiàn)在只要一條簡(jiǎn)單的SQL語句就可以實(shí)現(xiàn)了,而且在執(zhí)行效率方面也有相當(dāng)大的提高。

分析函數(shù)和分組函數(shù)的不同

普通的分組函數(shù)用group by分組,每個(gè)分組返回一個(gè)統(tǒng)計(jì)值,而分析函數(shù)采用partition by分組,并且每組每行都可以返回一個(gè)統(tǒng)計(jì)值。

分析函數(shù)的形式

常用的分析函數(shù)如下所列:

  1. row_number() over(partition by ... order by ...)  
  2. rank() over(partition by ... order by ...)  
  3. dense_rank() over(partition by ... order by ...)  
  4. count() over(partition by ... order by ...)  
  5. max() over(partition by ... order by ...)  
  6. min() over(partition by ... order by ...)  
  7. sum() over(partition by ... order by ...)  
  8. avg() over(partition by ... order by ...)  
  9. first_value() over(partition by ... order by ...)  
  10. last_value() over(partition by ... order by ...)  
  11. lag() over(partition by ... order by ...)  
  12. lead() over(partition by ... order by ...) 

分析函數(shù)常見應(yīng)用場(chǎng)景

一般可以解決這樣的問題:

①查找上一年度各個(gè)銷售區(qū)域排名前10的員工

②按區(qū)域查找上一年度訂單總額占區(qū)域訂單總額20%以上的客戶

③查找上一年度銷售最差的部門所在的區(qū)域

④查找上一年度銷售***和最差的產(chǎn)品

我們看看上面的幾個(gè)問題就可以感覺到這幾個(gè)查詢和我們?nèi)粘S龅降牟樵冇行┎煌?,具體有:

①需要對(duì)同樣的數(shù)據(jù)進(jìn)行不同級(jí)別的聚合操作

②需要在表內(nèi)將多條數(shù)據(jù)和同一條數(shù)據(jù)進(jìn)行多次的比較

③需要在排序完的結(jié)果集上進(jìn)行額外的過濾操作

分析函數(shù)初體驗(yàn)

簡(jiǎn)單介紹幾個(gè)分析函數(shù)的使用樣例,讓大家能夠近距離體驗(yàn)一下Oracle分析函數(shù)的強(qiáng)大,Oracle的資料還是比較好找的「相對(duì)于DB2來說」,搜索「Oracle分析函數(shù)」關(guān)鍵字即可獲取更多相關(guān)用法,這些樣例均在scott用戶下成功運(yùn)行。

例1,顯示各部門員工的工資,并附帶顯示該部門的***工資

執(zhí)行SQL

  1. select e.deptno, 
  2.        e.empno, 
  3.        e.ename, 
  4.        e.sal, 
  5.        last_value(e.sal)  
  6.        over(partition by e.deptno  
  7.             order by e.sal rows  
  8.             --unbounded preceding and unbouned following針對(duì)當(dāng)前所有記錄的前一條、后一條記錄,也就是表中的所有記錄 
  9.             --unbounded:不受控制的,***的 
  10.             --preceding:在...之前 
  11.             --following:在...之后 
  12.             between unbounded preceding and unbounded following) max_sal 
  13.   from emp e; 

運(yùn)行結(jié)果

例2,按照deptno分組,然后計(jì)算每組值的總和

執(zhí)行SQL

  1. select empno, 
  2.        ename, 
  3.        deptno, 
  4.        sal, 
  5.        sum(sal) over(partition by deptno order by ename) max_sal 
  6.   from emp; 

運(yùn)行結(jié)果

例3,當(dāng)前行的上一行(rownum-1)到當(dāng)前行的下輛行(rownum+2)的匯總

執(zhí)行SQL

  1. select empno, 
  2.        ename, 
  3.        deptno, 
  4.        sal, 
  5.        --注意rows between 1 preceding and 1 following 是指當(dāng)前行的上一行(rownum-1)到當(dāng)前行的下輛行(rownum+2)的匯總 
  6.        sum(sal) over(partition by deptno  
  7.                      order by ename  
  8.                      rows between 1 preceding and 2 following) max_sal 
  9.   from emp; 

運(yùn)行結(jié)果

例4,***測(cè)試

執(zhí)行SQL

  1. select 
  2.        deptno 部門編號(hào),ename 員工姓名,sal 薪水,       
  3.        avg(sal) over(partition by deptno) 該部門薪水均值, 
  4.        sum(sal) over(partition by deptno) 該部門薪水總額, 
  5.        count(sal) over(partition by deptno) 部門員工數(shù)量, 
  6.        dense_rank() over(partition by deptno order by sal desc) 該人員的部門薪水排行1, 
  7.        row_number() over(partition by deptno order by sal desc) 該人員的部門薪水排行2, 
  8.        dense_rank() over(order by sal desc) 該人員的全公司薪水排行,         
  9.        min(sal) over(partition by deptno) 該部門的***薪水1 ,  
  10.        min(sal) keep(dense_rank first order by sal) over(partition by deptno) 該部門的***薪水2 ,  
  11.        first_value(sal) over(partition by deptno order by sal) 該部門的***薪水3,       
  12.        max(sal) over(partition by deptno) 該部門的***薪水1, 
  13.        max(sal) keep(dense_rank last order by sal) over(partition by deptno) 該部門的***薪水2, 
  14.        last_value(sal) over(partition by deptno order by sal) 該部門的***薪水3, 
  15.        last_value(sal) over(partition by deptno order by sal rows between unbounded preceding and unbounded following ) 該部門的***薪水4,   
  16.        lag(ename, 1, '00') over(order by sal desc) 薪水在自己前一位的人, 
  17.        lead(ename, 1, '00') over(order by sal desc) 薪水在自己后一位的人 
  18.   from emp e 
  19. order by deptno,sal,ename 

運(yùn)行結(jié)果

注意:

「該部門的***薪水1\2\3」等結(jié)果是一樣的,只是使用了不同的寫法而已。

last_value()的不同寫法導(dǎo)致「該部門的***薪水3」和「該部門的***薪水4」結(jié)果是不同的,可以這樣去理解:last_value()默認(rèn)統(tǒng)計(jì)范圍是 rows between unbounded preceding and current row,因此需要加上rows between unbounded preceding and unbounded following ,才能得到正確的統(tǒng)計(jì)結(jié)果,「該部門的***薪水4」的統(tǒng)計(jì)結(jié)果才是正確的。

【本文為51CTO專欄作者“朱國立”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過作者微信公眾號(hào)“開發(fā)者圓桌”獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2010-04-19 13:43:38

Oracle分析函數(shù)

2010-04-01 09:22:31

Oracle9i分析函

2009-05-19 14:34:52

Oraclehash優(yōu)化

2011-04-15 13:02:56

Oracle函數(shù)

2009-11-18 14:29:37

Oracle函數(shù)

2009-11-19 16:27:23

Oracle Rown

2010-11-19 16:03:20

Oracle分析表

2010-10-25 15:12:42

Oracle日期函數(shù)

2010-10-25 17:28:05

Oracle bita

2010-10-25 14:28:53

oracle trun

2011-04-12 13:27:09

Oracle日期函數(shù)

2010-04-14 13:22:10

Oracle系統(tǒng)函數(shù)

2010-10-25 16:52:48

oracle管道函數(shù)

2010-10-25 17:08:34

oracle聚合函數(shù)

2010-10-25 17:39:24

Oracle單行日期函

2009-11-16 13:47:35

Oracle SQL語

2009-11-17 13:35:40

Oracle SQL語

2009-11-20 13:51:14

Oracle Data

2009-11-20 15:19:29

Oracle Agil

2009-11-19 14:12:16

Oracle Havi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

青青草一区二区三区| 欧美日本三级| 国产精品九色蝌蚪自拍| 91精品视频播放| 激情五月激情综合| 色妞ww精品视频7777| 亚洲一区二区在线免费看| 999在线观看免费大全电视剧| www.av视频在线观看| 国产一区二区三区天码| 日韩欧美色综合网站| 国产成人亚洲精品无码h在线| 麻豆传媒免费在线观看| av一区二区三区四区| 国产欧美精品va在线观看| 黄色一级片在线| 免费观看不卡av| 欧美日韩国产小视频在线观看| 欧美在线观看视频免费| 激情小说 在线视频| 国产风韵犹存在线视精品| 国产高清视频一区三区| 久久香蕉精品视频| 日韩片欧美片| 亚洲精品资源美女情侣酒店| 麻豆传媒在线看| 日本熟妇人妻xxxxx| 黄网在线免费| 成人av在线电影| 国产日产欧美a一级在线| 日韩欧美三级在线观看| 国产精品久久久久久久| 亚洲欧美综合区自拍另类| 中文字幕乱码在线人视频| 成人做爰免费视频免费看| 午夜影院久久久| 色一情一乱一乱一区91| 天天影视久久综合| 国产精品酒店视频| 怡红院男人的天堂| 在线观看视频免费一区二区三区| 最近中文字幕2019免费| 在线免费观看黄色小视频| 日韩在线观看一区二区三区| 欧美伊人久久大香线蕉综合69| 国产免费一区二区视频| 理论片午午伦夜理片在线播放| 91丨九色丨国产丨porny| 亚洲精品日产aⅴ| 在线观看视频中文字幕| 日本系列欧美系列| 国产高清视频一区三区| 无码人妻精品一区二区| 午夜在线精品偷拍| 欧美亚洲成人免费| 日本中文字幕免费观看| 激情欧美亚洲| 久久久久久伊人| 久久精品视频8| 天天干天天色综合| 精品一区亚洲| 精品无人区乱码1区2区3区在线| 99riav国产精品视频| 欧美1区2区3| 日韩三级在线观看| av电影中文字幕| 亚洲日本va| 精品久久一区二区| 日本国产在线视频| 婷婷综合电影| 亚洲午夜激情免费视频| 欧美老女人性生活视频| 菠萝蜜一区二区| 久久精品91久久香蕉加勒比| 亚洲成人生活片| 国内精品久久久久久久影视蜜臀| 欧美激情免费看| 你懂的国产在线| 久久亚洲图片| 国产真实乱偷精品视频免| 久久久久久午夜| 日韩特级黄色片| 喷水一区二区三区| 97netav| 国产高清视频免费观看| 成人午夜激情视频| 久久成人资源| 1区2区3区在线观看| 宅男噜噜噜66国产精品免费| 日韩午夜激情免费电影| 青青草成人免费视频| 欧洲杯什么时候开赛| 久久亚洲精品中文字幕冲田杏梨| 久久久久久久伊人| 丝袜国产日韩另类美女| 亚洲精品女av网站| 日本人妖在线| 亚洲欧美日韩国产成人精品影院 | 91免费精品国偷自产在线在线| 精品粉嫩超白一线天av| 五月天精品在线| 激情综合电影网| 国产欧美一区二区| 欧美熟妇另类久久久久久不卡| 国产日韩v精品一区二区| 五月天激情图片| 三级成人黄色影院| 精品久久国产字幕高潮| 亚洲黄色网址大全| 一本色道久久综合亚洲精品不| 国产欧美日韩亚洲精品| 五月天福利视频| 亚洲色图在线看| 中文欧美在线视频| 国产精品美腿一区在线看| 国产精品久久久久久久免费| 99国产精品视频免费观看| 亚洲视频电影| 不卡av播放| 亚洲第一av网站| 2018天天弄| 蜜臀av一区二区在线观看| 国模精品一区二区三区| 99在线精品免费视频| 青青在线视频| 欧美日韩一区二区不卡| 中文字幕在线观看的网站| 中出一区二区| 国产精品入口尤物| 黄色大片在线看| 性久久久久久久久| 美女流白浆视频| 羞羞答答成人影院www| 国产精品第1页| 日本午夜在线| 懂色av一区二区三区| 五月天丁香社区| 国产精品v一区二区三区| 91免费视频网站| 日本视频在线免费观看| 在线亚洲一区二区| 国产在线观看h| 爽好多水快深点欧美视频| 六月婷婷久久| 英国三级经典在线观看| 亚洲精品国产精品国自产在线| 久久久久人妻一区精品色欧美| 狠狠色丁香久久婷婷综| 青少年xxxxx性开放hg| 日本中文字幕视频一区| 久久精品99无色码中文字幕| 91中文字幕在线视频| 国产精品高潮呻吟久久| 中日韩av在线播放| 91不卡在线观看| 97久久精品午夜一区二区| 色黄网站在线观看| 亚洲大胆人体视频| 麻豆精品久久久久久久99蜜桃| wwwwww.欧美系列| 一本色道无码道dvd在线观看| 欧美猛男男男激情videos| 国产精品福利网| а√天堂中文在线资源bt在线| 欧美亚洲综合久久| 中文字幕乱码av| 国产精品69毛片高清亚洲| 天堂8在线天堂资源bt| 欧美9999| 欧美一级视频一区二区| 超碰97在线免费观看| 欧美夫妻性生活| 欧美片一区二区| 2020国产精品自拍| 成人亚洲免费视频| 狠狠综合久久av一区二区老牛| 精品久久久久久一区| 少妇精品视频一区二区免费看| 日韩在线视频观看正片免费网站| 国产免费一区二区三区最新不卡| 亚洲午夜成aⅴ人片| 中文字幕在线观看的网站| 青娱乐精品在线视频| 日韩精品第1页| 性人久久久久| 亚洲一区二区三区成人在线视频精品| 丁香花高清在线观看完整版| 亚洲毛片在线观看.| 国产精品久久久久精| 亚洲一区在线视频| 久久久免费看片| 菠萝蜜视频在线观看一区| 三年中国国语在线播放免费| 中文字幕亚洲精品乱码| 免费一区二区三区| 精品一区二区三区在线观看视频 | h片在线观看下载| 亚洲小视频在线| 欧美一级淫片免费视频魅影视频| 在线精品视频一区二区三四| 久久久久成人精品无码| 国产亚洲欧美日韩在线一区| 免费在线观看日韩av| 日产国产高清一区二区三区| 青青草国产免费| 久久久久久久久99精品大| 麻豆一区区三区四区产品精品蜜桃| 国产高清视频一区二区| 日本亚洲欧洲色α| 草草影院在线| 久久成年人视频| 中文日本在线观看| 日韩高清免费观看| 精品乱子伦一区二区| 欧美三级日韩三级国产三级| 免费看日韩毛片| 亚洲精品久久久久久国产精华液| 丰满的亚洲女人毛茸茸| a级高清视频欧美日韩| 无码国产精品一区二区高潮| 蜜臀久久99精品久久久画质超高清 | 亚洲毛片一区| 日本一道在线观看| 第一会所亚洲原创| 欧美一区二区福利| 麻豆视频一区| 国产精品区一区二区三在线播放| 国产一区二区久久久久| 国产精品香蕉国产| 精品日韩视频| 国产精品激情av电影在线观看 | 狠狠干狠狠久久| 日韩免费av片| 亚洲午夜精品久久久久久久久| 美女福利视频在线观看| 自拍偷在线精品自拍偷无码专区| 国产成人免费观看网站| 久久久久久电影| 无码熟妇人妻av| 久久免费的精品国产v∧| 极品白嫩丰满美女无套| 91色porny| 国产全是老熟女太爽了| 91网上在线视频| 亚洲AV无码国产精品| 91年精品国产| 性久久久久久久久久| 久久久久久麻豆| 日本乱子伦xxxx| 欧美国产乱子伦| 俄罗斯毛片基地| 中文字幕一区av| 午夜三级在线观看| 亚洲免费观看高清| 妺妺窝人体色www婷婷| 亚洲一卡二卡三卡四卡五卡| 精品无码m3u8在线观看| 精品久久久免费| 亚洲av中文无码乱人伦在线视色| 欧美午夜精品久久久久久人妖| 亚洲国产成人精品女人久久| 欧美在线不卡视频| 国产精品爽爽久久| 精品久久久久99| 你懂的在线视频| 日韩一区二区精品视频| 综合图区亚洲| 88xx成人精品| 天然素人一区二区视频| 91免费人成网站在线观看18| 高清精品视频| 欧美午夜精品久久久久久蜜| 色琪琪久久se色| 成人高清dvd| 国产日韩亚洲欧美精品| 中文字幕第36页| 国产精品中文有码| av直播在线观看| 亚洲欧洲成人自拍| 精品一区二区三区四| 色婷婷精品大在线视频| 97久久人国产精品婷婷| 精品国免费一区二区三区| 日韩在线免费看| 久久精品99久久香蕉国产色戒| 2020国产在线| 国产欧美精品xxxx另类| 加勒比久久高清| 亚洲不卡1区| 欧美va天堂在线| 黄色片一级视频| 国产成都精品91一区二区三| 久久国产柳州莫菁门| 亚洲图片欧美一区| 特级西西444www高清大视频| 日韩色在线观看| 91短视频版在线观看www免费| 久久久久久一区二区三区| 日本在线精品| 国产日韩一区二区| 嫩草在线视频| 亚洲mv大片欧洲mv大片精品| 香蕉影院在线观看| 欧美一级夜夜爽| 狠狠色伊人亚洲综合网站l| 麻豆一区二区三| 尤物网站在线看| 久久网站最新地址| 欧美色图亚洲天堂| 欧美色综合影院| 天天综合在线视频| 久久99热精品| 欧美大片网站| 欧美日韩亚洲在线| 欧美三级不卡| 欧美视频国产视频| 国产欧美日韩三区| 中文字幕第15页| 精品国产精品网麻豆系列| 日本成人在线播放| 国产精品美女视频网站| 校园春色另类视频| 免费在线观看亚洲视频| 久久婷婷国产| 日日噜噜夜夜狠狠久久丁香五月| 另类天堂av| 国产女人18毛片水真多18| 亚洲男女一区二区三区| 91福利免费视频| 中文国产成人精品| 日韩成人亚洲| 三区精品视频| 日韩黄色小视频| 色一情一交一乱一区二区三区| av日韩亚洲| aa成人免费视频| 91欧美在线| 成人亚洲精品777777大片| 久久综合久色欧美综合狠狠| 久久久久99精品成人片三人毛片| 亚洲国产精品va在线看黑人动漫| 色女人在线视频| 国产精品18毛片一区二区| 国产精品sm| 丰满少妇xbxb毛片日本| 亚洲高清视频在线| 日本免费一区视频| 91精品国产乱码久久久久久蜜臀 | 亚洲一区二区动漫| 黄色污在线观看| 日韩欧美国产激情| 国产一级二级三级在线观看| 国产精品第一页在线| 日韩理论在线| 久久99热只有频精品91密拍| 亚洲精品成人无限看| 五月天开心婷婷| 18欧美亚洲精品| 国产成人精品一区二区无码呦| 毛片精品免费在线观看| 亚洲国产中文在线二区三区免| 日本免费a视频| 97精品久久久午夜一区二区三区| 天堂在线免费观看视频| 亚洲色图18p| 欧美黄页免费| 国产免费内射又粗又爽密桃视频| 懂色av一区二区三区蜜臀| 精品91久久久| 在线观看精品自拍私拍| 国产午夜精品一区在线观看| 日韩精品久久一区二区| 91丨porny丨国产| 伊人久久一区二区| 欧美国产中文字幕| 亚洲欧美校园春色| 欧美一级xxxx| 婷婷开心激情综合| 伊人在线视频| 国产精品入口免费| 日韩高清一区二区| 麻豆亚洲av熟女国产一区二| 亚洲免费电影一区| 99re8精品视频在线观看| 日本午夜激情视频| 国产精品视频一二三| 亚洲毛片在线播放| 国产成人久久久| 欧美日韩在线大尺度| 亚洲精品午夜视频| 日韩久久久久久| 国产精品www爽爽爽| 日韩午夜小视频| 亚洲wwww| wwwwww欧美| 中文av一区二区| 天堂网在线观看视频| 91久久精品国产91久久| 久久精品91| 久久精品视频9|