Oracle中GROUP BY的高级用法

前面介绍了分组函数的基本用法,下面介绍几种关于GROUP BY更高级的用法。

1、ORACLE数据库中的ROLLUP配合GROUP BY命令使用,可以提供信息汇总功能(与"小计" 相似)

SQL> SELECT deptno, job,sum(sal) from emp1 group by deptno,job

2  order by deptno,job;

DEPTNO JOB                           SUM(SAL)

---------- --------------------------- ----------

10 CLERK                             1300

10 MANAGER                           2450

10 PRESIDENT                         5000

20 ANALYST                           6000

20 CLERK                             1900

20 MANAGER                           2975

30 CLERK                              950

30 MANAGER                           2850

30 SALESMAN                          5600

40 SALESMAN                          6000

//会对每一个不同的dept,job生成一行独立的结果

1  SELECT deptno, job,sum(sal) from emp1

2  group by rollup(deptno,job)

3* order by deptno,job

SQL> /

DEPTNO JOB                           SUM(SAL)

---------- --------------------------- ----------

10 CLERK                             1300

10 MANAGER                           2450

10 PRESIDENT                         5000

10                                   8750

20 ANALYST                           6000

20 CLERK                             1900

20 MANAGER                           2975

20                                  10875

30 CLERK                              950

30 MANAGER                           2850

30 SALESMAN                          5600

30                                   9400

40 SALESMAN                          6000

40                                   6000

35025

//结果中除了上述的结果结果之外,还会对每一个deptno进行一个小结,并单独生成一行,除此之 外还会对所有的sal求和并生成一行。

时间: 2024-10-02 06:24:45

Oracle中GROUP BY的高级用法的相关文章

Python中Requests库的高级用法

前面讲了Python的urllib库的使用和方法,Python网络数据采集Urllib库的基本使用 ,Python的urllib高级用法 . 今天我们来学习下Python中Requests库的用法. Requests库的安装 利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pip安装Python的库. $ pip install requests 安装完成之后,下面来看一下基

简介PHP的Yii框架中缓存的一些高级用法_php技巧

页面缓存页面缓存指的是在服务器端缓存整个页面的内容.随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成. 页面缓存由 yii\filters\PageCache 类提供支持,该类是一个过滤器.它可以像这样在控制器类中使用: public function behaviors() { return [ [ 'class' => 'yii\filters\PageCache', 'only' => ['index'], 'duration' => 60, 'variations'

oracle sql-oracle 中 group by 后给出的数据的排序问题

问题描述 oracle 中 group by 后给出的数据的排序问题 在group by之后查出的数据,是按照什么顺序给出的? 表中没有设置主键,不是用order by 排序,而是分组后查询出来的数据以什么原则优先的顺序输出 解决方案 应该默认是按照插入的顺序的,这里自己来设置顺序 解决方案二: group by 會對數據排序嗎Oracle Group By 用法之 -- HavingOracle数据分组:group by,having,rollup,cube,grouping sets

Oracle中hint语句的30个用法

在SQL语句优化过程中,经常会用到hint,下面我们来介绍一下在SQL优化过程中常见Oracle中"HINT"的 30个用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应

oracle中 exists 与 in效率及其用法

oracle中 exists 与 in效率及其用法 用not exists 代替not in select * from tsp_product p where not exists(select '' from tsp_orderitem i where p.id=i.product_id) select * from tsp_product p where id not in(select product_id from tsp_orderitem i where p.id=i.produc

oracle中distinct的用法详解_oracle

下面先来看看例子: table表 字段1     字段2    id        name    1           a    2           b    3           c    4           c    5           b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录. select distinct name from table 得到的结果

sql中的 where 、group by 和 having 用法解析

废话不多说了,直接给大家贴代码了,具体代码如下所示: --sql中的 where .group by 和 having 用法解析 --如果要用到group by 一般用到的就是"每这个字" 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术 select DepartmentID as '部门名称',COUNT(*) as '个数' from BasicDepartment group by DepartmentID --这个就是使用了group by +字段 进行了分组

深入浅析SQL中的group by 和 having 用法

一.sql中的group by 用法解析: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". 作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理. 注意:group by 是先排序后分组! 举例说明:如果要用到group by 一般用到的就是"每"这个字, 例如现在有一个这样的需求:查询每个部门有多少人.就要用到分组的技术 select DepartmentID as '部门名称',

Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了.因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画