分层分组汇总问题
有数据表Tbl,字段有 Debt(部门)、Grp(组)、Name(姓名)、Score(得分),表中有如下数据:
Debt(部门) Grp(组) Name(姓名) Score(得分)
部门1 组1 员工1 1
部门2 组1 员工2 3
部门1 组2 员工3 2
部门1 组1 员工4 1
希望首先按Debt分组汇总Score,每一组再按Grp分组汇总Score,结果集应该是:
Debt(部门) Grp(组) Score(得分)
部门1 4
部门1 组1 2
部门1 组2 2
部门2 3
部门2 组1 3
SQL语句是怎样的?
[解决办法]
create table tb(Debt varchar(10),Grp varchar(10),Name varchar(10),Score int)insert into tb values('部门1', '组1', '员工1', 1) insert into tb values('部门2', '组1', '员工2', 3) insert into tb values('部门1', '组2', '员工3', 2) insert into tb values('部门1', '组1', '员工4', 1)goselect isnull(debt,'合计') debt,isnull(grp,'') grp,sum(score) score from tb group by debt,grp with rollup order by debtdrop table tb/*debt grp score ---------- ---------- ----------- 部门1 组1 2部门1 组2 2部门1 4部门2 组1 3部门2 3合计 7*/