在使用Oracle的聚合函数和group by 关键对结果集合分组时,我们可能遇到一个问题。我们针对聚合函数那一列需要找到满足条件的那些分组结果,可以使用where子句吗?肯定不行,我们需要的是使用having关键字。但同时也得注意到在 having 不能使用聚合函数的别名,否则就要出错——invalid identifier(无效的标识符).
如:
select deptno,job,sum(sal) sum_sal from emp group by deptno,job
having sum_sal>2000;
这句查询就会产生上速错误。
select deptno,job,sum(sal) from emp group by deptno,job
having sum(sal)>2000;
这句则不会产生错误。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25112695/viewspace-682132/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25112695/viewspace-682132/