增加一条合计记录
有数据表Table,有字段 Debt(部门)、Duty(职务,值为高工、工程师、助工之一),表中有如下数据:
Debt(部门) Duty(职务)
设计室1 高工
设计室2 助工
设计室2 高工
设计室1 工程师
用下列语句:
select Debt,count(*),count(decode(Duty, '高工 ',1,null)),
count(decode(Duty, '工程师 ',1,null)),
count(decode(Duty, '助工 ',1,null)) from table
group by debt
已经正确得到结果集:
部门 合计 高工 工程师 助工
设计室1 2 1 1 0
设计室2 2 1 0 1
现在希望修改select语句,在结果集最前面增加一条合计记录,即结果集是:
部门 合计 高工 工程师 助工
合计 4 2 1 1
设计室1 2 1 1 0
设计室2 2 1 0 1
SQL语句是怎样的?
------解决方案--------------------求合计把group by debt改成group by rollup(debt)会在后面列出合计.
------解决方案--------------------SELECT NVL(DEBT, '合计 ') AS DEBT, COUNT(DUTY) AS DUTY,
FROM TABLE
GROUP BY ROLLUP(DEBT)
ORDER BY DUTY DESC
/