精品欧美一区二区三区在线观看 _久久久久国色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)

超碰97久久| 11024精品一区二区三区日韩| 视频一区中文字幕精品| 精品久久久国产| 日韩成人在线资源| 国产不卡av在线播放| 国产农村妇女精品一区二区| 中文字幕9999| 国产精品99精品无码视亚| 不卡av播放| 一区二区三区高清| 四虎永久在线精品免费一区二区| 精品国产黄色片| 日韩影院免费视频| 97久久超碰福利国产精品…| 中文天堂资源在线| 里番精品3d一二三区| 欧美麻豆精品久久久久久| 日本日本19xxxⅹhd乱影响| 午夜视频在线观看网站| 99精品久久只有精品| 91在线免费看网站| 青青草视频在线观看免费| 国产一区亚洲| 久久久精品免费视频| 日本黄色免费观看| 日韩精品免费视频一区二区三区 | 国产成人麻豆免费观看| 亚洲大片av| 欧美xxxx18性欧美| 欧美人与禽zoz0善交| 香蕉国产成人午夜av影院| 日韩色在线观看| 五月天开心婷婷| 国产三级一区| 在线免费一区三区| 免费观看成人在线视频| 国产美女高潮在线观看| 亚洲亚洲精品在线观看| 第九区2中文字幕| 免费a级在线播放| 中文字幕av一区二区三区高 | 成人av免费| 国产精品不卡在线| 中文字幕一区二区三区5566| 亚洲1卡2卡3卡4卡乱码精品| 中文字幕精品在线不卡| 色一情一乱一伦一区二区三欧美 | 性色av一区二区三区红粉影视| 1024手机在线视频| 欧美日本在线| 欧美丰满老妇厨房牲生活| 欧美日韩免费一区二区| 欧美三级网页| 性欧美办公室18xxxxhd| 欧美bbbbbbbbbbbb精品| 国产视频亚洲| 人人澡人人澡人人看欧美| 精品久久久久久久久久久久久久久久| 国产精品亚洲产品| 国产精品成人品| 一道本无吗一区| 国产一区二区久久| 91一区二区三区| 少妇一区二区三区四区| 91麻豆国产精品久久| 日韩国产在线一区| 精品国产白色丝袜高跟鞋| 亚洲精品中文字幕在线观看| 欧美一级片免费播放| 成人免费影院| 欧美日韩一区二区在线观看视频| 日韩av片专区| caoporn成人免费视频在线| 日韩成人av在线播放| 婷婷色一区二区三区| 婷婷色综合网| 欧美国产日韩一区二区在线观看| 中日韩精品视频在线观看| 在线亚洲一区| 国产精品久久久久久久app| 97人妻人人澡人人爽人人精品 | 日韩av片在线免费观看| 欧美二区不卡| 日韩美女中文字幕| 国产美女自慰在线观看| 99久久精品免费看| 亚洲欧洲一区二区在线观看| 美女网站视频在线| 色综合激情久久| 色偷偷中文字幕| 日韩精品a在线观看91| 在线午夜精品自拍| 国产精品a成v人在线播放| 日韩av网站免费在线| 91手机在线播放| av在线中文| 亚洲va在线va天堂| wwww.国产| 久久a爱视频| 久久亚洲国产成人| 国产suv精品一区二区33| 国产成人av资源| 亚洲欧洲久久| 都市激情亚洲综合| 欧美刺激脚交jootjob| gv天堂gv无码男同在线观看| 亚洲伦理精品| 91免费综合在线| 九色在线免费| 午夜私人影院久久久久| 激情在线观看视频| 不卡视频在线| 欧洲成人午夜免费大片| 亚洲av少妇一区二区在线观看| 亚洲国产精华液网站w| 给我免费播放片在线观看| 欧美综合影院| 夜夜躁日日躁狠狠久久88av| 日韩三级视频在线| 国产乱人伦偷精品视频不卡| 亚洲乱码一区二区三区 | 国产综合亚洲精品一区二| 国产精品视频色| 激情综合闲人网| 欧美视频中文字幕在线| 好男人香蕉影院| 激情国产一区| 成人午夜电影在线播放| 在线āv视频| 6080午夜不卡| 日本黄色片免费观看| 美美哒免费高清在线观看视频一区二区| 久久久久久欧美精品色一二三四| 久久大胆人体| 精品国产免费久久| 国产在线综合网| 福利电影一区二区三区| 蜜桃视频一区二区在线观看| 国产精品免费精品自在线观看 | 日韩电影免费观看高清完整| 中文在线最新版地址| 亚洲国产精品yw在线观看| 免费在线视频一区二区| 国产成a人亚洲精品| 无码人妻精品一区二区蜜桃百度| 精品999日本久久久影院| 久久亚洲精品视频| 超碰在线人人干| 亚洲一级二级在线| 中国xxxx性xxxx产国| 影音先锋在线一区| 精品一区二区三区国产| 最近在线中文字幕| 国产小视频国产精品| 中文亚洲av片在线观看| 亚洲欧洲日韩在线| 香蕉视频免费网站| 国产欧美精品| 日韩精品一区二区三区丰满| 国产成人精品一区二区三区免费| 中文字幕av一区二区三区谷原希美| 国产精品传媒在线观看| 亚洲欧美一区二区视频| 免费不卡av网站| 亚洲高清免费| 日韩高清dvd| 99视频这里有精品| 高清在线视频日韩欧美| 欧美伦理影视网| 欧美日本韩国一区二区三区视频| 欧美一级片在线视频| 成人精品免费视频| 毛片av免费在线观看| 日韩欧美视频| 国产精品10p综合二区| 亚洲欧洲美洲av| 精品国产一区二区三区久久| 亚洲精品国产suv一区| 色综合欧美在线| 三级黄色在线观看| 白白色 亚洲乱淫| 国产高潮免费视频| 在线成人av| 亚洲高清视频一区二区| 一区二区三区视频免费视频观看网站| 91高潮在线观看| 免费黄色网址在线观看| 日韩av在线看| 国产精品亚洲欧美在线播放| 欧美日韩一区二区免费视频| 欧美福利在线视频| 99精品久久99久久久久| 欧美一级特黄aaa| 欧美在线综合| 妞干网在线播放| 色婷婷一区二区三区| 精品国产综合久久| 9999精品免费视频| 日韩免费不卡av| 欧美xxxx做受欧美88bbw| 中文字幕免费国产精品| 天天干视频在线| 日韩一级完整毛片| 在线观看免费高清视频| 调教+趴+乳夹+国产+精品| 久久久久久久久久久久久女过产乱| 久久久五月婷婷| 国产大尺度视频| 国内精品久久久久影院色| 激情五月开心婷婷| 在线电影一区| 777久久精品一区二区三区无码| 精品视频国产| 激情伦成人综合小说| 一区二区三区欧洲区| 91久久国产精品91久久性色| 久久久人成影片一区二区三区在哪下载| 欧美极品少妇xxxxⅹ免费视频 | 亚洲天天做日日做天天谢日日欢| 精品人妻无码一区二区三区换脸| 不卡的av网站| 美女露出粉嫩尿囗让男人桶| 国产一区二区三区美女| 少妇网站在线观看| 视频在线在亚洲| 精品中文字幕av| 日韩香蕉视频| 亚洲国产精品无码观看久久| 欧美日韩福利| 久久久无码中文字幕久...| 日韩dvd碟片| 欧美日韩精品久久| 妖精一区二区三区精品视频| 蜜桃视频日韩| 一道本一区二区三区| 麻豆亚洲一区| 亚洲午夜久久| 日本不卡一区| 国产欧美日韩在线观看视频| 日本日本精品二区免费| 国产一区二区三区日韩精品| 欧美一区少妇| 欧美久久精品一级c片| 久久亚洲高清| 国产真实有声精品录音| 神马影院我不卡| 欧美疯狂party性派对| 亚洲精品中文字幕乱码三区不卡| 日韩精品第一区| 特级黄色录像片| 综合av在线| 日本a视频在线观看| 日韩亚洲国产欧美| 成人免费aaa| 久久精品男女| 日韩中文字幕a| 国产一区二区三区四区在线观看| 天天干天天曰天天操| 麻豆精品国产传媒mv男同| 中国黄色片一级| 国产剧情一区二区三区| 亚洲乱妇老熟女爽到高潮的片| 成人午夜电影久久影院| 精品无码一区二区三区 | 亚洲视频在线播放| 91网在线播放| 欧美日韩国产成人| 午夜裸体女人视频网站在线观看| 国产精品aaaa| 欧美经典影片视频网站| 精品在线视频一区二区| 人人狠狠综合久久亚洲婷| 中文字幕第一页亚洲| 一区在线播放| 成年网站在线播放| 国产成人免费视频一区| 国产麻豆天美果冻无码视频| 国产精品欧美久久久久无广告 | 日本视频在线免费观看| 欧美剧在线观看| 久久uomeier| 91香蕉亚洲精品| 亚洲丝袜啪啪| 黄色特一级视频| 日本怡春院一区二区| 成人做爰69片免费| 99久久精品国产亚洲| 一卡二卡三卡日韩欧美| 亚洲欧美综合另类| 91精品国产免费| 男人天堂网在线| 欧美刺激性大交免费视频| 国产免费不卡| 97人人香蕉| 精品国产一区二区三区| 91视频 - 88av| 日本美女一区二区| 91精品又粗又猛又爽| 国产精品久久久久婷婷 | 91久久精品网| www.欧美国产| 中文字幕免费精品一区高清| av在线理伦电影| 国产这里只有精品| 夜色77av精品影院| 免费看欧美一级片| 久久成人免费电影| 37p粉嫩大胆色噜噜噜| 最新高清无码专区| 337p粉嫩色噜噜噜大肥臀| 精品国产成人系列| 久cao在线| 国产aaa精品| 久久99精品久久久久久欧洲站| 亚洲一区二区三区四区中文| 亚洲女人av| 亚洲av永久无码精品| 亚洲桃色在线一区| 性高潮视频在线观看| 日韩精品黄色网| 麻豆tv在线| 国产精品久久久久福利| 精品一区在线| 毛片在线视频播放| youjizz久久| 日本熟伦人妇xxxx| 91精品国产综合久久久久久久| 成人精品一区二区三区校园激情| 国产91精品黑色丝袜高跟鞋| 久久午夜影院| 日韩av中文字幕第一页| 丁香六月综合激情| 91精品国产高清一区二区三蜜臀| 欧美人与性动xxxx| 91社区在线观看播放| 国产美女精品视频| 色狮一区二区三区四区视频| 一路向西2在线观看| 亚洲国产高清在线| 中文字幕一区二区免费| 在线电影av不卡网址| 日本欧美一区| 亚洲精品一区二区三区樱花 | 9.1成人看片免费版| 亚洲成av人片| 亚洲aⅴ乱码精品成人区| 97视频国产在线| 丝袜美腿综合| 日韩 欧美 高清| 欧美韩国一区二区| 中文字幕在线观看1| xxxxxxxxx欧美| 玖玖精品一区| 免费视频爱爱太爽了| 93久久精品日日躁夜夜躁欧美| 天天操天天摸天天干| 国产网站欧美日韩免费精品在线观看| 二区三区不卡| 亚洲精品永久www嫩草| 国产一区二区三区日韩| 加勒比av在线播放| 亚洲第一精品夜夜躁人人爽 | 色婷婷香蕉在线一区二区| 美女毛片在线看| 国产成人一区二区三区小说| 久久视频在线| 国产成人av片| 欧美丝袜一区二区三区| 天天综合视频在线观看| 97视频资源在线观看| 国产亚洲高清视频| ass极品国模人体欣赏| 日韩欧美一区在线| 碰碰在线视频| 亚洲永久激情精品| 成人黄色av电影| 老熟妇一区二区三区| 久久久国产精品x99av| 黄色欧美在线| 在线免费观看视频黄| 亚洲一二三四区| 第一福利在线| 国产高清一区视频| 免费看黄色91| 久久精品久久国产| 伊人久久久久久久久久久| 日本精品国产| 欧美伦理片在线看| 亚洲永久精品大片| 成人性生交大片免费看午夜| 9a蜜桃久久久久久免费| 日本视频中文字幕一区二区三区| 欧美日韩免费做爰视频| 一区二区三区高清国产| 成人18夜夜网深夜福利网| 91插插插插插插插插| 亚洲国产精品一区二区www| 在线免费观看黄色| 欧美1o一11sex性hdhd|