oracle汇总排序,oracle分组排序汇总笔记.doc-程序员宅基地

技术标签: oracle汇总排序  

41528d3028836879cd698677c3999917.giforacle分组排序汇总笔记.doc

一、相关函数GROUPBY、ROLLUP、CUBE、GROUPINGSETS、OVER、GROUPING_ID、GROUPING、DECODE、LAG、LEAD、RANK、DENSE_RANK、ROW_NUMBER、COUNT二、初始化数据CREATETABLECREATETABLEEMPLOYEEEIDNUMBERNOTNULL,ENAMEVARCHAR220NOTNULL,EADDRESSVARCHAR2200NOTNULL,E_DIDNUMBERNOTNULL,HIRE_DATEDATENOTNULL,SALARYNUMBER8,2NOTNULL,BONUSNUMBER8,2,BOSSNUMBERTABLESPACEUSERSPCTFREE10INITRANS1MAXTRANS255STORAGEINITIAL64MINEXTENTS1MAXEXTENTSUNLIMITEDCREATE/RECREATEPRIMARY,UNIQUEANDFOREIGNKEYCONSTRAINTSALTERTABLEEMPLOYEEADDPRIMARYKEYEIDUSINGINDEXINSERTCONTENTINSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES1, 郭芙 , 广东 ,1,TO_DATE 02012006 , DDMMYYYY ,20005,1005,10INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES3, 杨康 , 成都 ,3,TO_DATE 14072004 , DDMMYYYY ,3000,NULL,10INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES9, 杨过 , 广东 ,1,TO_DATE 02032005 , DDMMYYYY ,2000,1000,10INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES10, 小龙女 , 广东 ,2,TO_DATE 05042000 , DDMMYYYY ,8000,NULL,10INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES11, 郭襄 , 广东 ,3,TO_DATE 01122010 , DDMMYYYY ,5000,NULL,10INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES14, 郭靖 , 成都 ,2,TO_DATE 08072008 , DDMMYYYY ,4300,NULL,14INSERTINTOEMPLOYEEEID,ENAME,EADDRESS,E_DID,HIRE_DATE,SALARY,BONUS,BOSSVALUES15, 黄蓉 , 成都 ,3,TO_DATE 13052009 , DDMMYYYY ,1600,200,14COMMIT三、具体应用1、GROUPBY与ROLLUPSELECTEADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYROLLUPEADDRESS,ENAME图1分析如图,这里不光只对第一个字段做了累计,先按EADDRESS,ENAME分组累计,再按EADDRESS分组累计,最后累计全部类似于SELECTFROMSELECTEADDRESS,ENAME,SUMSALARYAFROMEMPLOYEEGROUPBYEADDRESS,ENAMEUNIONALLSELECTEADDRESS,NULL,SUMSALARYFROMEMPLOYEEGROUPBYEADDRESSUNIONALLSELECTNULL,NULL,SUMSALARYFROMEMPLOYEE2、GROUPBY与CUBESELECTEADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYCUBEEADDRESS,ENAMEORDERBYA,B图2分析CUBE这里的使用与ROLLUP基本相同,但CUBE的合计更加详细,它能够显示次分组字段的合计信息类似于SELECTEADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYGROUPINGSETSEADDRESS,ENAME,EADDRESS,ENAME,ORDERBYA,B3、GROUPBY与GROUPINGSETSSELECTEADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYGROUPINGSETSEADDRESS,ENAME,图31SELECTEADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYGROUPINGSETSEADDRESS,ENAME,EADDRESS,图32分析GROUPBYGROUPINGSETS可以应用来指定自己感兴趣的总数组合。因为它不必计算它不需要集合。形式为GROUPBYGROUPINGSETSLIST,LIST,这里LIST是圆括号中的一个列序列,这个组合生成一个总数,所以要增加一个总和,必须增加一个NULL分组集。4、GROUPING结合DECODE的使用GROUPING()可接受一个列值,当列值为空时,函数返回1;如果列值非空,则返回0。(注意GROUPING只能在ROLLUP、CUBE查询中使用。还可以结合DECODE()函数来注释使用更好)DECODE相当于一条IF语句,如DECODEA,1,’SU’,2,’XIAO’,3,’DONG’,A表示A如果为1则返回SU,如果2就返回XIAO,如果3就返回DONG,否则返回A以图1为例SELECTDECODEGROUPINGEADDRESS,1,’合计’,EADDRESSA,ENAMEB,SUMSALARYCFROMEMPLOYEEGROUPBYROLLUPEADDRESS,ENAME图45、GROUPING_IDGROUPING_ID()函数可接受一列或多列,它返回GROUPING位向量的十进制值。GROUPING位向量的计算方法是按照顺序对每一列调用GROUPING()函数的结果组合起来。它的作用是借助HAVING子句对记录进行过滤,将不包含小计或总计的记录除去。GROUPING位向量的十进制值,我们由前面的介绍已知道当GROUPING()的列值为空时它返回1,当非空时返回0;比如EADDRESS,ENAME两列都为非空,GROUPING()都返回0。将这两列的值组合起来,形成一个位向量00,十进制为0。即,当EADDRESS,ENAME都非空时,GROUPING_ID()返回0。(这里要特别注意EADDR

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39577908/article/details/116359069

智能推荐

Orange3入门-程序员宅基地

文章浏览阅读1.1k次,点赞10次,收藏26次。Orange3 是一个开源的机器学习和数据可视化桌面软件。它允许你通过简单的拖放技术来创建数据分析工作流程。Orange3 提供了一个友好的图形化用户界面,非常适合初学者使用,同时也为熟练的数据科学家提供了数据探索和建模的强大功能。在 Orange3 中,数据分析过程被设计为工作流程,它顺畅地转换并可视化数据,使用机器学习算法进行建模,并创建了可视化的数据呈现。每个流程都是一系列称为 "widget" 的模块,它们通过渠道连接在一起进行通信。_orange3

JAVA常用加密方式介绍及使用汇总(全集)-程序员宅基地

文章浏览阅读5.5k次,点赞5次,收藏28次。引文:如果开发者需要保存密码(比如网站用户的密码),要考虑如何保护这些密码数据,网站用户密码的泄露是一件非常严重的事情,容易引起用户恐慌,所以在安全方面是重中之重,直接将密码以明文写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到这些密码。解决的办法是将密码加密后再存储进数据库,比较常用的加密方法是使用哈希函数(Hash Function),也就是摘要加密。通过哈希函数,我们就可以将密码的哈希值存储进数据库。

用于理解vtkPolyData和vtkCellArray的一段代码_vtk隐藏单元-程序员宅基地

文章浏览阅读3.5k次。#include "vtkActor.h"#include "vtkCamera.h"#include "vtkCellArray.h"#include "vtkFloatArray.h"#include "vtkPointData.h"#include "vtkPoints.h"#include "vtkPolyData.h"#include "vtkPolyDataMapper._vtk隐藏单元

【.NET Standard依赖问题】错误    CS0012    类型“Object”在未引用的程序集中定义。必须添加对程序集“netstandard, Version=2.0.0.0,-程序员宅基地

文章浏览阅读9.9k次,点赞9次,收藏6次。【背景】在vs2019上运行winform应用程序,弹出来如下提示:错误 CS0012 类型“Object”在未引用的程序集中定义。必须添加对程序集“netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”的引用.............【解决办法】右键当前项目→属性→应用程序..._类型“object”在未引用的程序集中定义。必须添加对程序集“netstandard, version

操作系统学习 介绍一下fork是什么? 1操作系统提供的用户界面有几种?分别是什么?2,举出人类社会中采用的几个抽象示例,并与操作系统提供的抽象进行对比。3,有人认为,内核态程序可以访问任_操作系统fork-程序员宅基地

文章浏览阅读556次。介绍一下fork是什么? 1操作系统提供的用户界面有几种?分别是什么?2,举出人类社会中采用的几个抽象示例,并与操作系统提供的抽象进行对比。3,有人认为,内核态程序可以访问任何资源的权限对系统安全造成严重成卧,你怎么看?4,处理器的状态设置需要在何种态势下完成?为什么?5,处理器从用户态转为内核态时面临的关键问题是什么?如何解决?_操作系统fork

go jwt 生成token报错 :key is of invalid type-程序员宅基地

文章浏览阅读2.5k次,点赞6次,收藏4次。jwt.SigningMethodES256 两种类型 *SigningMethodECDSA 和 *SigningMethodHMACjwts := jwt.NewWithClaims(jwt.SigningMethodES256, c) // SigningMethodES256 *SigningMethodECDSA 此类型会报错: key is of invalid type`jwts := jwt.NewWithClaims(jwt.SigningMethodHS256, c) // S

随便推点

计算机组成原理期末考试题库(超级多的那种)_云南大学滇池学院2024计算机组成原理期末考试-程序员宅基地

文章浏览阅读2.9w次,点赞160次,收藏1.7k次。废话不多说,不管是应对期末考试还是考研基础复习,刷题是必不可少的!!! 大家冲就完了!!!!记得给 罡罡同学点关注哦! 后期还会更新其他题库的呢!!!打赏一点钱,帮我买瓶肥宅快乐水,继续创作,谢大家!计算机组成原理试题库——题目及答案计算机组成原理试卷1一、选择题(共20分,每题1分)1.CPU响应中断的时间是______。A.中断源提出请求;B.取指周期结束;C.执行周期结束;D.间址周期结束。2.下列说法中______是正确的。A.加法指令的执行周期一定要访存;B.加法指令_云南大学滇池学院2024计算机组成原理期末考试

IPC网络高清摄像机基础知识6(CCD 与 CMOS传感器)_ipc shutter-程序员宅基地

文章浏览阅读1.2w次。需求说明:IPC高清摄像机知识储备内容 :第一部分 从四大方面分析CCD传感器与CMOS传感器的优劣 第二部分 解析数码相机的技术参数整理来自:时间的诗第一部分 从四大方面分析CCD传感器与CMOS传感器的优劣来自:http://www.elecfans.com/yuanqijian/sensor/20_ipc shutter

给NAS-Tool添加拓展功能,自定义刷流、索引规则_nastool安装第三方插件-程序员宅基地

文章浏览阅读1.5k次,点赞7次,收藏8次。给NAS-Tool添加拓展功能,自定义刷流、索引规则_nastool安装第三方插件

【 Arduino 和水流量传感器测量水流量和体积】_arduino 流量计-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏14次。Arduino 和水流量传感器测量水流量和体积_arduino 流量计

F02_HttpRunner关联:提取固定名称方式的 SessionID-程序员宅基地

文章浏览阅读229次。F02_HttpRunner关联:提取固定名称方式的 SessionID接着上一章项目案例分析,SessionID 存在于临时 cookie 中,HttpRunner 可以从cookie中直接提取需要的值,而且要求 cookie 的键名称必须是固定不变的,提取方式为:extract: - 变量名称: cookies.键名称为了验证返回响应内容的正...

Echarts绘制柱状图 报错“Initialize failed: invalid dom.”_echarts 中 打开弹框中的柱状图rror: initialize failed: invali-程序员宅基地

文章浏览阅读1.5k次。原因:echarts在创建图表的时候需要一个div作为dom容器,再将由echarts.init方法初始化一个 echarts 实例初始化的map挂载到dom树中。<div id="map" v-if="showType != 'list'"></div>而此错误的意思是在该element创建之前,就去getElement获取该元素。解决:本以为是生命周期的问题,改了好久,后来发现是该dom容器上挂了一个v-if,而v-if是由后来调后端接口获取的数据来控._echarts 中 打开弹框中的柱状图rror: initialize failed: invalid dom

推荐文章

热门文章

相关标签