经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
oracle 分组查询
来源:cnblogs  作者:xianting  时间:2019/3/26 8:39:32  对本文有异议

组函数

COUNT()(个数)、SUM()(求和)、AVG()(平均)、MAX()(最大值)、MIN()(最小值)。

  1. · COUNT(*):会实际的统计出表中的数据量;
  2. · COUNT(字段):
  3. |- 如果统计的字段上不包含有 null,那么与 COUNT(*)结果相同;
  4. |- 如果统计字段上包含有了 nullnull 不参与统计;
  5. · COUNT(DISTINCT 字段):消除掉重复数据后的统计。

分组统计

  1. · 限制一:统计函数单独使用时(没有 GROUP BY 子句)只能够出现统计函数,不能够出现其它字段。
  2. 正确的代码:SELECT COUNT(empno) FROM emp ;
  1. 错误的代码:SELECT COUNT(empno),ename FROM emp ;
  1. · 限制二:使用统计查询时(存在 GROUP BY 子句),SELECT 子句之中只允许出现统计函数与分组字段,
  2. 其它的任何字段都不允许出现。
  3. 正确的代码:
  4. SELECT deptno,COUNT(empno)
  5. FROM emp
  6. GROUP BY deptno ;

    错误的代码:
  7. SELECT deptno,COUNT(empno),ename
  8. FROM emp
  9. GROUP BY deptno ;
  10. · 限制三:统计函数在分组之中可以嵌套使用,但是嵌套之后的统计查询之中,SELECT 子句不允许再出现
  11. 任何的字段,包括分组字段。
  12. 正确的代码:
  13. SELECT MAX(COUNT(empno))
  14. FROM emp
  15. GROUP BY deptno ;

    错误的代码:
  16. SELECT deptno,MAX(COUNT(empno))
  17. FROM emp
  18. GROUP BY deptno ;

关于 WHERE 和 HAVING 的区别?

· WHERE 子句:是在分组前使用,而且不能够使用统计函数进行验证,经过 WHERE 筛选后的数据才可以分组;
· HAVING 子句:必须结合 GROUP BY 子句一起出现,是在分组后的过滤,可以使用统计函数。

原文链接:http://www.cnblogs.com/xianting/p/10595284.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号