当前位置: 代码迷 >> Sql Server >> 是否可以双group by?该怎么处理
  详细解决方案

是否可以双group by?该怎么处理

热度:87   发布时间:2016-04-27 20:57:23.0
是否可以双group by?

教师姓名     月   捐献金额  
王1                 1       234.56
张4                 10       23.56
赵5                 9     223.56
齐0                 8       235.56
王1                 10       234.56
张4                 10       23.56
赵5                 9     223.56
齐0                 8       235.56
王1                 12       234.56
张4                 10       23.56
赵5                 9     223.56
齐0                 8       235.56
王1                 1       234.56
张4                 10       23.56
赵5                 5     223.56
齐0                 8       235.56

要求输出

月     累计捐献金额  
1             xxxxx
2           xxxxx
3           xxxxx
4         xxxxx
5         xxxxx        
6         xxxxx
7         xxxxx
8         xxxxx
9         xxxxx
10         xxxxx
12         xxxxx
 
只有教师1-12月都有捐献金额的时候   才回被统计进入数据
******而且*****
我想知道教师的详细名单!   因为用一维表很难表诉出来



------解决方案--------------------
select 教师姓名,月,sum(捐献金额)
from table
group by 教师姓名,月
having sum(月) = 78

------解决方案--------------------

select 月,捐献金额
from tttt
where 教师姓名 in(
select 教师姓名
from tttt
group by 教师姓名
having sum(月) = 78)
order by 月
------解决方案--------------------

create table tttt(教师姓名 varchar(10), 月 int , 捐献金额 numeric(9,2))
insert tttt
select '王1 ', 1 , 234.56 union all
select '王1 ', 2 , 234.56 union all
select '王1 ', 3 , 234.56 union all
select '王1 ', 4 , 234.56 union all
select '王1 ', 5 , 234.56 union all
select '王1 ', 6 , 234.56 union all
select '王1 ', 7 , 234.56 union all
select '王1 ', 8 , 234.56 union all
select '王1 ', 9 , 234.56 union all
select '王1 ', 10 , 234.56 union all
select '王1 ', 11 , 234.56 union all
select '王1 ', 12 , 234.56 union all
select '张4 ', 1 , 234.56 union all
select '张4 ', 4 , 234.56 union all
select '赵5 ', 8 , 234.56 union all
select '赵5 ', 9 , 234.56 union all
select '赵5 ', 10 , 234.56 union all
select '赵5 ', 11 , 234.56 union all
  相关解决方案