oracle 12c GROUP BY 句

本文详细介绍了 Oracle12c 中 GROUP BY 语句的基本用法及注意事项,包括其在 SQL 查询中的位置、如何与 WHERE 和 ORDER BY 语句配合使用等关键信息。同时,还通过具体实例展示了如何利用 GROUP BY 实现数据的聚合操作。
摘要由CSDN通过智能技术生成

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 句中指定的列,和集合函数中集合列
    这里写图片描述

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

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

无排序

  • GROUP BY 指定时,集合函数的层级仅可以为2以下,单一函数没有限制
    2层以下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值