日期:2014-05-18  浏览次数:20840 次

在结果集后面增加一条合计记录
有数据表Table,有字段 f1、f2、f3,表中有如下数据: 
  f1 f2 f3  
  设计室1 1 2  
  设计室2 1 0 
  设计室1 1 2
用下列语句: 
select f1,sum(f2) f2,sum(f3) f3
 from table group by f1
已经正确得到结果集: 
  f1 f2 f3 
  设计室1 2 4  
  设计室2 1 0  
现在希望修改select语句,在结果集后面增加一条合计记录,使结果集是: 
  f1 f2 f3 
  设计室1 2 4  
  设计室2 1 0  
  合计 3 4
  SQL语句是怎样的?  


------解决方案--------------------
SQL code

select  f1,sum(f2) f2,sum(f3) f3 
 from  table  group  by  f1 with rollup

------解决方案--------------------
select f1,sum(f2) f2,sum(f3) f3 
 from table group by f1 
union 
select '合计' as f1, sum(f2),sum(f3) from (select f1,sum(f2) f2,sum(f3) f3 
 from table group by f1)a group by f1
------解决方案--------------------
SQL code
select f1,sum(f2) f2,sum(f3) f3 from table group by f1 
union all
select f1='合计',sum(f2) f2,sum(f3) f3 from table