描述
有一个部门表departments简况如下:
有一个,部门员工关系表dept_emp简况如下:
有一个职称表titles简况如下:
汇总各个部门当前员工的title类型的分配数目,即结果给出部门编号dept_no、dept_name、其部门下所有的员工的title以及该类型title对应的数目count,结果按照dept_no升序排序,dept_no一样的再按title升序排序
/*题目:
汇总各个部门当前员工的title类型的分配数目,
即结果给出部门编号dept_no、dept_name、其部门下所有的员工的title
以及该类型title对应的数目count,
结果按照dept_no升序排序,dept_no一样的再按title升序排序
*/
-- 方法一:窗口函数
select
d.dept_no,
d.dept_name,
t.title,
count() over (
partition by
d.dept_no,
t.title
order by
d.dept_no asc,
t.title asc )
as count
from
departments d,
dept_emp de,
titles t
where
d.dept_no = de.dept_no
and de.emp_no = t.emp_no
-- 方法二:count函数+group by
select
d.dept_no,
d.dept_name,
t.title,
count(t.title) as count
from
departments d,
dept_emp de,
titles t
where
d.dept_no = de.dept_no
and de.emp_no = t.emp_no