在数据库查询中,分组是一个非常重要的应用。分组是指将数据表中的记录以某个或者某些列为标准,划分为一组。
语法格式
GROUP BY { column_name } [ , ... ]
使用方法
GROUP BY子句中的表达式可以包含FROM子句中表,视图的任何列,无论这些列是否出现在SELECT列表中。
GROUP BY子句对行进行分组,但不保证结果集的顺序。 要对分组进行排序,请使用ORDER BY子句。
示例
示例1:从staffs表格中查询每个部门的低工资和高工资。
SELECT section_id, MIN(salary), MAX (salary)
FROM staffs
GROUP BY section_id
ORDER BY section_id;
SECTION_ID MIN(SALARY) MAX (SALARY)
---------------------------------------- ---------------------------------------- ----------------------------------------
10 4400 4400
20 6000 13000
30 2500 11000
40 6500 6500
50 2100 8200
60 4200 9000
70 10000 10000
80 6100 14000
90 17000 24000
100 6900 12000
110 8300 12000
7000 7000
12 rows fetched.
示例2:使用如下的语句可以查询某个部门的职员的低和高工资。下面查询的是PU_CLERK部门职员的低和高工资。
SELECT section_id, MIN(salary), MAX (salary)
FROM staffs
WHERE EMPLOYMENT_ID = 'PU_CLERK'
GROUP BY section_id
ORDER BY section_id;
SECTION_ID MIN(SALARY) MAX (SALARY)
---------------------------------------- ---------------------------------------- ----------------------------------------
30 2500