oracle数据库GROUP BY 子句
Posted Curedfisher
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库GROUP BY 子句相关的知识,希望对你有一定的参考价值。
1.GROUP BY子句
在SELECT 列表中所有未包含在组函数中的列都应该包含在GROUP BY 子句中.
如下:
SELECT deptno,AVG(sal) from emp GROUP BY deptno;(deptno为没有包含在组函数的列)
以下查询是错误的:
SELECT a,b,c,AVG(sal) from emp GROUP BY a,b;(c没有写在group by 后面)
===========================================================================================
多个列的分组:先按照第一个列分组,如果相同,再第二个列分组,以此类推
===========================================================================================
2.过滤分组:HAVING 子句
使用HAVING过滤分组
1.行已经被分组;
2.使用了组函数;
如:
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
==========================================================================================
where 后面不能使用多行函数;
以上是关于oracle数据库GROUP BY 子句的主要内容,如果未能解决你的问题,请参考以下文章
Oracle - group by in having 子句