小计 合计 -统计

简介:

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 endas []
,
sum(case when col='' then 1 else 0 endas 负
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,如需转载请自行联系原作者



相关文章
|
8月前
|
C++
成绩统计
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。
62 0
|
6月前
|
数据库
查询各年龄段人数
查询各年龄段人数
43 0
|
11月前
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
购物车增减商品数量2-修改商品小计35
购物车增减商品数量2-修改商品小计35
82 0
购物车增减商品数量2-修改商品小计35
购物车增减商品数量2-修改商品小计3-35
购物车增减商品数量2-修改商品小计3-35
73 0
购物车增减商品数量2-修改商品小计3-35
购物车增减商品数量2-修改商品小计parents34
购物车增减商品数量2-修改商品小计parents34
73 0