分组:
group by 列名:根据某一列,把数据分成几组,经常对每一组的数据使用聚合函数,按照我的理解,该列有几种不同的值,那么就把该列分成几组,如下图
简单的来说,第二列中有两个不同的值a和b,那么如果进行分组的话,就是两组,第一列中分组的话就是一组。
1)格式:select 列名/聚合函数(*/列名)
from 表名
where 表名
group by 列名
order by 列名/聚合函数/别名 asc/desc
2)语法规则:首先执行where条件对数据进行过滤,之后执行group by 列名,根据列名把数据分成几组,对每一组的数据使用聚合函数,最后根据列名/聚合函数/别名进行排序。
简单的写一个例子,或许就明白了:
1、创建一个公司员工表emp,内含员工编号id(主键),姓名name,部门编号deptno,工资sal
2、向表中插入10条数据
3、查询emp表中每个部门的部门名称,该部门下员工的总个数、工资总的支出、以及平均工资,最后根据员工的总个数进行排列,如果员工的人数一致,根据员工的编号进行升序排列