Oracle对行进行分组-groupby、having(三)

2014-11-24 09:16:30 · 作者: · 浏览: 1
ed.
使用HAVING子句 hr@TEST0924> SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%' GROUP BY job_id HAVING SUM(salary) > 13000 ORDER BY SUM(salary);
JOB_ID PAYROLL ---------- ---------- PU_CLERK 13900 AD_PRES 24000 IT_PROG 28800 AD_VP 34000 ST_MAN 36400 FI_ACCOUNT 39600 ST_CLERK 55700 SA_MAN 61000 SH_CLERK 64300
9 rows selected.
示例显示工资合计超过$13,000 的每个职务的职务ID 和月薪总额。该示例将销售代表排除在外,而且按月薪总额对列表进行排序。 嵌套组函数 下列语句显示最高平均薪金: hr@TEST0924> SELECT MAX(AVG(salary)) FROM employees GROUP BY department_id;
MAX(AVG(SALARY)) ---------------- 19333.3333
组函数可以嵌套两层。示例计算每个department_id对应的平均薪金,然后显示最高平均薪金。请注意,嵌套组函数时,必须使用GROUP BY子句。