分组汇总问题
有数据表Table,有字段 Debt(部门)、Duty(职务,值为高工、工程师、助工之一),表中有如下数据:
Debt(部门) Duty(职务)
设计室1 高工
设计室2 助工
设计室2 高工
设计室1 工程师
希望首先按Debt分组汇总记录数,同时在每一分组内,再按Duty分组汇总记录数,结果集是:
部门 总计 高工 工程师 助工
设计室1 2 1 1 0
设计室2 2 1 0 1
SQL语句是怎样的?
------解决方案--------------------select Debt,count(*),count(decode(Duty, '高工 ',1,null)),
count(decode(Duty, '工程师 ',1,null)),
count(decode(Duty, '助工 ',1,null)) from table
group by debt