欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Oracle分析函數(shù)入門

系統(tǒng) 1874 0

一、Oracle分析函數(shù)入門

分析函數(shù)是什么?
分析函數(shù)是Oracle專門用于解決復(fù)雜報表統(tǒng)計需求的功能強大的函數(shù),它可以在數(shù)據(jù)中進行分組然后計算基于組的某種統(tǒng)計值,并且每一組的每一行都可以返回一個統(tǒng)計值。

??????????

分析函數(shù)和聚合函數(shù)的不同之處是什么?
普通的聚合函數(shù)用group by分組,每個分組返回一個統(tǒng)計值,而分析函數(shù)采用partition by分組,并且每組每行都可以返回一個統(tǒng)計值。

??????????????

分析函數(shù)的形式
分析函數(shù)帶有一個開窗函數(shù)over(),包含三個分析子句:分組(partition by), 排序(order by), 窗口(rows) ,他們的使用形式如下:over(partition by xxx order by yyy rows between zzz)。
注:窗口子句在這里我只說rows方式的窗口,range方式和滑動窗口也不提

????

分析函數(shù)例子(在scott用戶下模擬)

示例目的:顯示各部門員工的工資,并附帶顯示該部分的最高工資。

        --顯示各部門員工的工資,并附帶顯示該部分的最高工資。
        
SELECT E.DEPTNO,
E.EMPNO,
E.ENAME,
E.SAL,
LAST_VALUE(E.SAL)
OVER(PARTITION BY E.DEPTNO
ORDER BY E.SAL ROWS
--unbounded preceding and unbouned following針對當(dāng)前所有記錄的前一條、后一條記錄,也就是表中的所有記錄
--unbounded:不受控制的,無限的
--preceding:在...之前
--following:在...之后
BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) MAX_SAL
FROM EMP E;

運行結(jié)果:

Oracle分析函數(shù)入門

????????????? ?

示例目的:按照deptno分組,然后計算每組值的總和

        SELECT EMPNO,
        
ENAME,
DEPTNO,
SAL,
SUM(SAL) OVER(PARTITION BY DEPTNO ORDER BY ENAME) max_sal
FROM SCOTT.EMP;

運行結(jié)果:

Oracle分析函數(shù)入門

?????

示例目的:對各部門進行分組,并附帶顯示第一行至當(dāng)前行的匯總

        SELECT EMPNO,
        
ENAME,
DEPTNO,
SAL,
--注意ROWS BETWEEN unbounded preceding AND current row 是指第一行至當(dāng)前行的匯總
SUM(SAL) OVER(PARTITION BY DEPTNO
ORDER BY ENAME
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max_sal
FROM SCOTT.EMP;

運行結(jié)果:

Oracle分析函數(shù)入門

???

示例目標(biāo):當(dāng)前行至最后一行的匯總

        SELECT EMPNO,
        
ENAME,
DEPTNO,
SAL,
--注意ROWS BETWEEN current row AND unbounded following 指當(dāng)前行到最后一行的匯總
SUM(SAL) OVER(PARTITION BY DEPTNO
ORDER BY ENAME
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) max_sal
FROM SCOTT.EMP;

運行結(jié)果:

Oracle分析函數(shù)入門

???

?示例目標(biāo):當(dāng)前行的上一行(rownum-1)到當(dāng)前行的匯總

        SELECT EMPNO,
        
ENAME,
DEPTNO,
SAL,
--注意ROWS BETWEEN 1 preceding AND current row 是指當(dāng)前行的上一行(rownum-1)到當(dāng)前行的匯總
SUM(SAL) OVER(PARTITION BY DEPTNO
ORDER BY ENAME ROWS
BETWEEN 1 PRECEDING AND CURRENT ROW) max_sal
FROM SCOTT.EMP;

運行結(jié)果:

Oracle分析函數(shù)入門

????

示例目標(biāo):???當(dāng)前行的上一行(rownum-1)到當(dāng)前行的下輛行(rownum+2)的匯總?????

        SELECT EMPNO,
        
ENAME,
DEPTNO,
SAL,
--注意ROWS BETWEEN 1 preceding AND 1 following 是指當(dāng)前行的上一行(rownum-1)到當(dāng)前行的下輛行(rownum+2)的匯總
SUM(SAL) OVER(PARTITION BY DEPTNO
ORDER BY ENAME
ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING) max_sal
FROM SCOTT.EMP;

運行結(jié)果:

Oracle分析函數(shù)入門

Oracle分析函數(shù)入門


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲视频在线播放 | 日韩区在线 | 在线亚洲成人 | 成人精品一区二区 | 久久国产精品免费一区二区三区 | 男女性刺激爽爽免费视频 | 午夜特级毛片 | 国产日韩欧美不卡 | 激情五月六月婷婷 | 香蕉在线影院 | 中国一级特黄真人毛片免费看 | 免费播放视频 | 亚洲网站色 | 日韩欧美中文字幕视频 | 国产免费小视频 | 色精品国产| 中文字幕精品一区久久久久 | 青娱乐在线视频观看 | 久久国产乱子免费精品 | 国产美女在线免费观看 | 国产一区二区在线免费观看 | 日本三级香港三级网站 | 毛片在线观看视频 | 国产东北普通话对白 | 国亚洲欧美日韩精品 | 国产成人精品日本亚洲11 | 午夜精品一区二区三区在线观看 | 免费永久欧美性色xo影院 | 天堂在线资源库 | 亚洲国产国产综合一区首页 | 国模沟沟一区二区三区 | 国产12孩岁A片被A午夜 | www.色哟哟 | 看片一区 | 日本理论片好看理论片 | 成人精品视频一区二区三区尤物 | 9久9久女女热精品视频免费观看 | 天天做天天添婷婷我也去 | 人人爱人人爽 | 久久免费99精品久久久久久 | 黄色一级视频 |