电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle分析函數學習筆記3

瀏覽:123日期:2023-11-19 18:54:58
環境:windows 2000 server + Oracle8.1.7 + sql*plus目的:以oracle自帶的scott模式為測試環境,主要通過試驗體會分析函數的用法。類似 sum(...) over ... 的使用1.原表信息:SQL> break on deptno skip 1; -- 為效果更明顯,把不同部門的數據隔段顯示。SQL> select deptno,ename,sal 2; from emp 3; order by deptno;;DEPTNO ENAME;;SAL---------- ---------- ---------- 10 CLARK;2450 KING;;5000 MILLER1300;;;;;20 SMITH;;800 ADAMS;1100 FORD;;3000 SCOTT;3000 JONES;2975;;;;;30 ALLEN;1600 BLAKE;2850 MARTIN1250 JAMES;;950 TURNER1500 WARD;;1250已選擇14行。;2.先來一個簡單的,注重over(...)條件的不同,使用 sum(sal) over (order by ename)... 查詢員工的薪水“連續”求和,注重over (order; by ename)假如沒有order by 子句,求和就不是“連續”的,放在一起,體會一下不同之處:SQL> break on '' -- 取消數據分段顯示SQL> select deptno,ename,sal, 2; sum(sal) over (order by ename) 連續求和, 3; sum(sal) over () 總和,; -- 此處sum(sal) over () 等同于sum(sal) ; 4; 100*round(sal/sum(sal) over (),4) '份額(%)' 5; from emp 6; /;DEPTNO ENAME;;SAL連續求和;;;;總和;份額(%)---------- ---------- ---------- ---------- ---------- ---------- 20 ADAMS;1100;;;;1100;;;29025;;;;3.79 30 ALLEN;1600;;;;2700;;;29025;;;;5.51 30 BLAKE;2850;;;;5550;;;29025;;;;9.82 10 CLARK;2450;;;;8000;;;29025;;;;8.44 20 FORD;;3000;;;11000;;;29025;;;10.34 30 JAMES;;950;;;11950;;;29025;;;;3.27 20 JONES;2975;;;14925;;;29025;;;10.25 10 KING;;5000;;;19925;;;29025;;;17.23 30 MARTIN1250;;;21175;;;29025;;;;4.31 10 MILLER1300;;;22475;;;29025;;;;4.48 20 SCOTT;3000;;;25475;;;29025;;;10.34 ;;;;;20 SMITH;;800;;;26275;;;29025;;;;2.76 30 TURNER1500;;;27775;;;29025;;;;5.17 30 WARD;;1250;;;29025;;;29025;;;;4.31已選擇14行。3.使用子分區查出各部門薪水連續的總和。注重按部門分區。注重over(...)條件的不同,sum(sal) over (partition by deptno order by ename) 按部門“連續”求總和sum(sal) over (partition by deptno) 按部門求總和sum(sal) over (order by deptno,ename) 不按部門“連續”求總和sum(sal) over () 不按部門,求所有員工總和,效果等同于sum(sal)。SQL> break on deptno skip 1; -- 為效果更明顯,把不同部門的數據隔段顯示。SQL> select deptno,ename,sal, 2; sum(sal) over (partition by deptno order by ename) 部門連續求和,--各部門的薪水'連續'求和 3; sum(sal) over (partition by deptno) 部門總和,; -- 部門統計的總和,同一部門總和不變 4; 100*round(sal/sum(sal) over (partition by deptno),4) '部門份額(%)', 5; sum(sal) over (order by deptno,ename) 連續求和, --所有部門的薪水'連續'求和 6; sum(sal) over () 總和,; -- 此處sum(sal) over () 等同于sum(sal),所有員工的薪水總和 7; 100*round(sal/sum(sal) over (),4) '總份額(%)' 8; from emp 9; /DEPTNO ENAME;SAL 部門連續求和部門總和 部門份額(%)連續求和總和; 總份額(%)------ ------ ----- ------------ ---------- ----------- ---------- ------ ---------- 10 CLARK2450 2450;;;;8750; 28;;;;2450; 29025;;;;8.44 KING;5000 7450;;;;8750;;;;57.14;;;;7450; 29025;;;17.23 MILLER; 1300 8750;;;;8750;;;;14.86;;;;8750; 29025;;;;4.48;20 ADAMS1100 1100;;;10875;;;;10.11;;;;9850; 29025;;;;3.79 ;;;;FORD;3000 4100;;;10875;;;;27.59;;;12850; 29025;;;10.34 JONES2975 7075;;;10875;;;;27.36;;;15825; 29025;;;10.25 SCOTT3000;;;;;10075;;;10875;;;;27.59;;;18825; 29025;;;10.34 SMITH;800;;;;;10875;;;10875;;;;;7.36;;;19625; 29025;;;;2.76;30 ALLEN1600 1600;;;;9400;;;;17.02;;;21225; 29025;;;;5.51 BLAKE2850 4450;;;;9400;;;;30.32;;;24075; 29025;;;;9.82 JAMES;950 5400;;;;9400;;;;10.11;;;25025; 29025;;;;3.27 MARTIN; 1250 6650;;;;9400;;;;;13.3;;;26275; 29025;;;;4.31 TURNER; 1500 8150;;;;9400;;;;15.96;;;27775; 29025;;;;5.17 WARD;1250 9400;;;;9400;;;;;13.3;;;29025; 29025;;;;4.31已選擇14行。;4.來一個綜合的例子,求和規則有按部門分區的,有不分區的例子SQL> select deptno,ename,sal,sum(sal) over (partition by deptno order by sal) dept_sum, ; 2; sum(sal) over (order by deptno,sal) sum 3; from emp;;DEPTNO ENAME;;SALDEPT_SUM;;;;;SUM---------- ---------- ---------- ---------- ---------- 10 MILLER1300;;;;1300;;;;1300 CLARK;2450;;;;3750;;;;3750 KING;;5000;;;;8750;;;;8750;;;;;20 SMITH;;800;;;;;800;;;;9550 ADAMS;1100;;;;1900;;;10650 JONES;2975;;;;4875;;;13625 SCOTT;3000;;;10875;;;19625 FORD;;3000;;;10875;;;19625;;;;;30 JAMES;;950;;;;;950;;;20575 WARD;;1250;;;;3450;;;23075 MARTIN1250;;;;3450;;;23075 TURNER1500;;;;4950;;;24575 ALLEN;1600;;;;6550;;;26175 BLAKE;2850;;;;9400;;;29025已選擇14行。;5.來一個逆序的,即部門從大到小排列,部門里各員工的薪水從高到低排列,累計和的規則不變。SQL> select deptno,ename,sal, 2; sum(sal) over (partition by deptno order by deptno desc,sal desc) dept_sum, 3; sum(sal) over (order by deptno desc,sal desc) sum 4; from emp;;DEPTNO ENAME;;SALDEPT_SUM;;;;;SUM---------- ---------- ---------- ---------- ---------- 30 BLAKE;2850;;;;2850;;;;2850 ALLEN;1600;;;;4450;;;;4450 TURNER1500;;;;5950;;;;5950 WARD;;1250;;;;8450;;;;8450 MARTIN1250;;;;8450;;;;8450 JAMES;;950;;;;9400;;;;9400;;;;;20 SCOTT;3000;;;;6000;;;15400 FORD;;3000;;;;6000;;;15400 JONES;2975;;;;8975;;;18375 ADAMS;1100;;;10075;;;19475 SMITH;;800;;;10875;;;20275;;;;;10 KING;;5000;;;;5000;;;25275 CLARK;2450;;;;7450;;;27725 MILLER1300;;;;8750;;;29025已選擇14行。;6.體會:在'... from emp;'后面不要加order; by 子句,使用的分析函數的(partition by deptno order by sal)里已經有排序的語句了,假如再在句尾添加排序子句,一致倒罷了,不一致,結果就令人費勁了。如:SQL> select deptno,ename,sal,sum(sal) over (partition by deptno order by sal) dept_sum, 2; sum(sal) over (order by deptno,sal) sum 3; from emp 4; order by deptno desc;;DEPTNO ENAME;;SALDEPT_SUM;;;;;SUM---------- ---------- ---------- ---------- ---------- 30 JAMES;;950;;;;;950;;;20575 WARD;;1250;;;;3450;;;23075 MARTIN1250;;;;3450;;;23075 TURNER1500;;;;4950;;;24575 ALLEN;1600;;;;6550;;;26175 BLAKE;2850;;;;9400;;;29025;;;;;20 SMITH;;800;;;;;800;;;;9550 ADAMS;1100;;;;1900;;;10650 JONES;2975;;;;4875;;;13625 SCOTT;3000;;;10875;;;19625 FORD;;3000;;;10875;;;19625;;;;;10 MILLER1300;;;;1300;;;;1300 CLARK;2450;;;;3750;;;;3750 KING;;5000;;;;8750;;;;8750已選擇14行。
標簽: Oracle 數據庫
主站蜘蛛池模板: 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 北京燃气公司 用户服务中心 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 奥因-光触媒除甲醛公司-除甲醛加盟公司十大品牌 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 海南在线 海南一家| LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 电表箱-浙江迈峰电力设备有限公司-电表箱专业制造商 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 心得体会网_心得体会格式范文模板 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 模切之家-专注服务模切行业的B2B平台! | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 广东教师资格网-广东教师资格证考试网 | 标准品网_标准品信息网_【中检计量】 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 微学堂-电动能源汽车评测_电动车性能分享网 | 工业CT-无锡璟能智能仪器有限公司| ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 汽液过滤网厂家_安平县银锐丝网有限公司| 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 |