如何取得group by分组后每组的第一条记录的第一个字段,取后一条记录的最后字段,并插入到新表

xzh80106569 2007-12-03 01:32:25
编号 初 入 出 末
aa 0 1 0 1
aa 1 1 0 2
aa 2 0 1 1

bb 3 1 0 4
bb 4 0 1 3
bb 3 1 0 4


想要效果

编号 初 入 出 末
aa 0 2 1 1
bb 3 2 1 4
...全文
2183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
issacp 2007-12-04
  • 打赏
  • 举报
回复
create table t (编号 varchar(10),初 int,入 int,出 int,末 int)
go

insert into t values('aa','0','1','0','1')
insert into t values('aa','1','1','0','2')
insert into t values('aa','2','0','1','1')
insert into t values('bb','3','1','0','4')
insert into t values('bb','4','0','1','3')
insert into t values('bb','3','1','0','4')
go
select 编号,min(初) as 初,sum(入) as 入,sum(出) as 出,min(初)+sum(入)-sum(出) as 未 from t group by 编号

drop table t
xzh80106569 2007-12-03
  • 打赏
  • 举报
回复
insert into b(编号,初,入,出,末)
select
a.编号,
min(a.初),----这个地方解决不了min(取最小,不是取第一个)
sum(a.入),
sum(a.出),
max(a.末),----这个地方解决不了max(取最大,不是取最后)from a group by 编号
go
xzh80106569 2007-12-03
  • 打赏
  • 举报
回复
出、入可以用SUM
但是初、末不能用SUM
初、末用 max min 也不能
wzy_love_sly 2007-12-03
  • 打赏
  • 举报
回复
无解
中国风 2007-12-03
  • 打赏
  • 举报
回复
select 编号,sum(初)as '初',sum(入) as '入', sum(出) as '出', sum(末)as '末'
from t
group by 编号

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧