当前位置: 代码网 > it编程>数据库>Oracle > oracle分组group by使用方式

oracle分组group by使用方式

2024年09月07日 Oracle 我要评论
1、语法在select列表中所有未包含在组函数中的列都应该包含在group by字句中包含在group by字句中的列不必包含在select列表中正确:select deptno avy(sal) f

1、语法

在select列表中所有未包含在组函数中的列都应该包含在group by字句中

包含在group by字句中的列不必包含在select列表中

  • 正确:
select deptno avy(sal) from emp group by deptno;(每个部门的平均工资)
  • 错误:
select deptno,count(ename) from emp;

2、多个列分组

select deptno,job sum(sal)
from emp
group by deptno,job
order by 1;

先按照第一个列分组,如果相同,再按第二个分组,以此类推

3、过滤分组数据

where和having的区别

where后面不能使用多行行数

当既可以使用where和having的时候,尽量使用where

4、group by语句增强

举例说明

(1)select deptno,job sum(sal) from emp group by deptno,job;
(2)select deptno sum(sal) from emp group by deptno;
(3)select sum(sal) from emp;
(4)select deptno,job sum(sal) from emp group by rollup( deptno,job);

(1)+(2)+(3)==(4)

rollup()函数

group by rollup(a,b)

==

group by a,b

+

group by a

+

没有group by
  • 作用:做报表
  • 设置格式:break on deptno skip 2
  • 取消格式:break on null

select语句可以做加减运算,通过集合运算

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com