重复ID中的数据合并,并删除重复项

youthw 2007-10-30 03:51:42

name age .... gangwei gongzi jiangjin heje
A 30 .... 1 400 100 500
B 31 .... 1 800 210 1010
C 28 .... 2 760 200 960
A 30 .... 2 700 150 850
D 29 .... 1 850 180 1030
E 38 .... 3 600 100 700
C 28 .... 3 400 50 450
: : : : : : :
: : : : : : :

要求: 将重复的name的数据合并(gongzi jiangjin heji),并保留gongzi中最大的数值的那一行的其它内容(如:name,age,gangwei)
比如上述合并后为
name age .... gangwei gongzi jiangjin heje
B 31 .... 1 800 210 1010
C 28 .... 2 1160 250 1410
A 30 .... 2 1100 250 1350
D 29 .... 1 850 180 1030
E 38 .... 3 600 100 700
: : : : : : :
: : : : : : :
...全文
205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwzmope 2008-04-02
  • 打赏
  • 举报
回复

建个临时表,回写
iwantnet 2008-02-19
  • 打赏
  • 举报
回复
select name,age,gangwei,sum(gongzi),sum(jiangjin),sum(heje) from table where name in (select max(gongzi) from table group by name)
happy250go 2007-11-30
  • 打赏
  • 举报
回复
都能实现,不知道哪个比较好呢?
OracleRoob 2007-11-18
  • 打赏
  • 举报
回复


create table T( name varchar(100), age int, gangwei int, gongzi int,jiangjin int, heje int)

insert into T select 'A', 30, 1, 400, 100, 500
insert into T select 'B', 31, 1, 800, 210, 1010
insert into T select 'C', 28, 2, 760, 200, 960
insert into T select 'A', 30, 2, 700, 150, 850
insert into T select 'D', 29, 1, 850, 180, 1030
insert into T select 'E', 38, 3, 600, 100, 700
insert into T select 'C', 28, 3, 400, 50, 450


select A.name,A.age,A.gangwei,b.gongzi,b.jiangjin,b.heje
from T as A
inner join
(
select
name,
max(gongzi) as gongzi_Max ,
sum(gongzi) as gongzi,
sum(jiangjin) as jiangjin,
sum(heje) as heje
from T
group by name
) as b on A.name=B.name and a.gongzi=b.gongzi_Max

drop table T
mengfeihui 2007-11-08
  • 打赏
  • 举报
回复
select name
,sum(gongzi)
from 表
group by name
youthw 2007-10-31
  • 打赏
  • 举报
回复
补充一下:
上面表中还漏了一项是‘月份’
姓名 年龄 月份 岗位 工资 奖金 合计

在同一个月中,有可能这个人由一个岗位分配到另一个岗位,各部门分别对这个人做工资,汇总上来的工资中会出现这个人的多份(比如:员工A在1岗位上工作了10天,工资为400;在2岗位上工作了10天,工资为500;在3岗位上工作了10天,工资为350),所以需要汇总这个人当月总工资,并以在哪个岗位上获得最高工资(2岗位)为最后要保留的内容(但工资、奖金、合计这三项要汇总)。
使其保证每个人每个月只有一条数据。

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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