欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle 12c GROUP BY 句

程序员文章站 2022-04-20 21:46:41
...

oracle 12c GROUP BY 句

前一节记录了集合函数的用法,但是在使用集合函数时有些实行更细一些的集合化,这是需要使用GROUP BY 语句

基本使用用法

GROUP BY 语句需要放在WHERE句之后,ORDER BY 句之前。

select 列名,group函数(列名)
from 表名
[where 条件]
[group by group化使用的列列表]
[order by 排列顺序用的列]

GROUP BY 指定的可以是一个列表,组合的关系。
书写例子

select deptno,avg(sal)
from employees
group by deptno;

特别注意的点

  • GROUP BY 句必须指定1以上(>=)的列作为集合化的条件
  • GROUP BY句中不可以使用 列别名
  • SELECT 句中选择的 列表仅可以是GROUP BY 句中指定的列,和集合函数中集合列
    oracle 12c GROUP BY 句

在此处两个结果的差距主要出现在SELECT 语句中是否制定了job,1中的结果可以的值,在同一个deptno 下有多个 job存在,而如果 只是按照deptno进行集合化的,可能出现的问题为不知应该显示哪一个job,本身也有逻辑问题。

  • ORDER BY 和 GROUP BY 公用的场合,ORDER BY中的排序的列仅可以是GROUP BY 句中指定的列,和集合函数中集合列
  • 有GROUP BY 句,并没有指定ORDER BY 句时。并没有特别的排序

oracle 12c GROUP BY 句

  • GROUP BY 指定时,集合函数的层级仅可以为2以下,单一函数没有限制
    oracle 12c GROUP BY 句