首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-22 
是否可以双group by? 教师姓名月捐献金额王11234.56张41023.56赵59223.56齐08235.56王110234.56张41023.56

是否可以双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


select '赵5 ', 12 , 234.56 union all
select '齐0 ', 1 , 234.56 union all
select '齐0 ', 4 , 234.56


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


----78是从1加道12的和
[解决办法]
78是什么意思?
1+2+3+。。。+12
[解决办法]
ccwwllccwwrr() ( ) 信誉:100 Blog 加为好友 2007-04-23 11:41:01 得分: 0


having sum(月) = 78

78是什么意思?

------------------------------------------------

1+2+3..+12=78


[解决办法]
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
select '赵5 ', 12 , 234.56 union all
select '齐0 ', 1 , 234.56 union all
select '齐0 ', 4 , 234.56


select 月,捐献金额=sum(捐献金额) from tttt where 教师姓名 in
(select 教师姓名 from tttt group by 教师姓名 having sum(月)=78) group by 月

热点排行