T1
id 字段2 字段3 字段4 字段5 字段6 字段7
1 A B 5 6 null null
2 A C 4 3 null null
3 A B 7 8 null null
4 A C 9 9 null null要这个结果
id 字段2 字段3 字段4 字段5 字段6 字段7
1 A B 5 6 12 8
2 A C 4 3 13 9
3 A B 7 8 null null
4 A C 9 9 null null
---------------------------------------------------------------
字段6是(GROUP BY 字段2,字段3)后SUM(字段4),放在每组ID最小的那一行的字段6
字段7是(GROUP BY 字段2,字段3)后,id最大那一行的字段5,放在每组ID最小的那一行的字段7
求解
id 字段2 字段3 字段4 字段5 字段6 字段7
1 A B 5 6 null null
2 A C 4 3 null null
3 A B 7 8 null null
4 A C 9 9 null null要这个结果
id 字段2 字段3 字段4 字段5 字段6 字段7
1 A B 5 6 12 8
2 A C 4 3 13 9
3 A B 7 8 null null
4 A C 9 9 null null
---------------------------------------------------------------
字段6是(GROUP BY 字段2,字段3)后SUM(字段4),放在每组ID最小的那一行的字段6
字段7是(GROUP BY 字段2,字段3)后,id最大那一行的字段5,放在每组ID最小的那一行的字段7
求解
解决方案 »
- 好心人帮人忙
- 求日期Sql语句一条
- 将DBF导入SQL时报错,帮我看看问题出在什么地方。谢谢。
- 数据转换问题
- 请问怎样用SQL语句实现从远程计算机上下载数据库到本地(sql到access),而且只下载被更新表的内容?最好有原码,多谢!!
- ldf如何打开,机上没装SQL,能用小软件打开吗
- 请问再windows xp 下sql server是否可以安装?
- sql问题:用create table是可不可以指定创建表的目录!?谢谢!
- 请问逻辑运算两边的条件先判断哪个?先左边还是先右边的?
- 误删整个数据库数据,十天前有完全备份,如何恢复到最近状态!!
- 在英国的MS-SQL数据库生成的日期格式原来的:'27/05/2013 10:05:51'要改为什么内容,才能在各种日期不同的数据库中正确插入呢?
- 关于SQL 交叉表的问题,郁闷好几天了。
from tb t1
inner join (
select a.*,b.col4,b.col5
from (select col2,col3,min(id) as id from tb group by col2,col3) a
inner join (select col2,col3,sum(col4) as col4,max(col5) as col5 from tb group by col2,col3) b on a.col2=b.col2 and a.col3=b.col3
)t2
on t1.id=t2.id
create table #tb(id int,col2 varchar(10),col3 varchar(10),
col4 int,col5 int,col6 int,col7 int)
insert into #tb(id,col2,col3,col4,col5)
select 1,'A','B',5,6
union all select 2,'A','C',4,3
union all select 3,'A','B',7,8
union all select 4,'A','C',9,9select * from #tbupdate t1 set col6=t2.col4,col7=t2.col5
from #tb t1
inner join (
select a.*,b.col4,b.col5
from (select col2,col3,min(id) as id from #tb group by col2,col3) a
inner join (select col2,col3,sum(col4) as col4,max(col5) as col5 from #tb group by col2,col3) b on a.col2=b.col2 and a.col3=b.col3
)t2
on t1.id=t2.id select * from #tb
drop table #tb/*
1 A B 5 6 12 8
2 A C 4 3 13 9
3 A B 7 8 NULL NULL
4 A C 9 9 NULL NULL
*/