经典sql代码--小计 合计 -统计
--创建表 create table [tb]([客户编码] varchar(10),[客户名称] varchar(10),[数量] int) insert [tb] select '001','A',2 union all select '001','A',3 union all select '001','A',4 union all select '002','B',1 union all select '002','B',2 --统计 select * from (select * from tb union all select 客户编码 , 客户名称 = '小计' , sum(数量) 数量 from tb group by 客户编码 union all select 客户编码 = '', 客户名称 = '合计' , sum(数量) 数量 from tb ) t order by case 客户编码 when '' then 2 else 1 end ,客户编码 , case 客户名称 when '小计' then 2 else 1 end drop table tb /* 客户编码 客户名称 数量 ---------- ---------- ----------- 001 A 2 001 A 3 001 A 4 001 小计 9 002 B 1 002 B 2 002 小计 3 合计 12 (所影响的行数为 8 行) */ create table tb (date char(10),col varchar(10)) insert tb select '2005-05-09','胜' insert tb select '2005-05-09','胜' insert tb select '2005-05-09','负' insert tb select '2005-05-09','负' insert tb select '2005-05-10','胜' insert tb select '2005-05-10','负' insert tb select '2005-05-10','负' select date ,sum(case when col='胜' then 1 else 0 end) as [胜] ,sum(case when col='负' then 1 else 0 end) as 负 from tb group by date date 胜 负 ---------- ----------- ----------- 2005-05-09 2 2 2005-05-10 1 2 (2 行受影响)
原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/03/1638155.html