在组中分组
可以列出多个 GROUP BY 列返回组和子组的摘要结果。可以用 GROUP BY子句中的列的顺序确定结果的默认排序顺序。下面是图片中的 SELECT 语句中包含一个 GROUP BY 子句时的求值过程:
- SELECT 子句指定被返回的列:− 部门号在 EMPLOYEES 表中− Job ID 在 EMPLOYEES 表中− 在 GROUP BY 子句中指定的组中所有薪水的合计
- FROM 子句指定数据库必须访问的表:EMPLOYEES 表。
- GROUP BY 子句指定你怎样分组行:− 首先,用部门号分组行。− 第二,在部门号的分组中再用 job ID 分组行。
如此 SUM 函数被用于每个部门号分组中的所有 job ID 的 salary 列。
示例:计算每个部门的不同工作岗位的员工总数。
SELECT e.DEPARTMENT_ID, e.JOB_ID,COUNT(*)
FROM employees e
GROUP BY e.DEPARTMENT_ID,e.JOB_ID;