1.3分组数据group by子句的使用

group子句的作用,可以使用group by子句将表中的数据分成若干组

举个栗子。

        求表中各部门的平均工资,要求显示部门号,部门的平均工资

        select    deptno,avg(sal)    from    emp    group    by    deptno;

        我们可以把上述SQL抽象出一个模板

        select    a,b,c,组函数(x)    from    table    group    by    a,b,c;

        我们又可以得到一个结论啦!在select列表中所有未包含在组函数的列都应该包含在group by子句中。

继续举栗子

        求每个部门的平均工资,要求显示部门的平均工资

        select    avg(sal)    from    emp    gruop    by    deptno;    

        结论!结论!包含在group子句中的列不必包含在select列表中。

今年栗子大丰收啊,还要举栗子

        按照部门不同的职位统计员工工资的总额(使用多个列分组)

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

        先按第一个列分组,如果第一个列相同。再按第2个列分组

栗子坏了--非法使用分组函数

        select    deptno,count(ename)    from    emp;

        

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容