日期:2014-05-17  浏览次数:20897 次

关于合并部分相同字段的值的sql,进来看看 谢谢。
TABLE A  
id name count year color
1 hmily 1 2001 bule
2 hmily 2 2001 bule
3 jack 1 2011 black
4 rose 3 2002 bule
5 rose 4 2002 bule
6 rose 3 2003 bule

要求 将 name year color 相同的记录合并,保留count的sum值即可,然后删除重复数据。
即最后应该是
1 hmily 3 2011 bule
3 jack 1 2011 bule
4 rose 7 2002 bule
6 rose 3 2003 bule
可以是多条语句 如何sql 谢谢

------解决方案--------------------
SQL code

--創建臨時保存記錄的表
create table A_copy as 
    select min(id) id,name,sum("count"),year,color 
    from A
    group by name,year,color;
--清除表A
truncate table A;
--新增記錄
insert into A select * from A_copy;
--刪除表
drop table A_copy;

------解决方案--------------------
你是大侠,表都变化了 还不想改SQL,我勒个去的,地基都变了,楼能没有变化么。。。。。

探讨
SQL code

select min(id) id,name,sum(count) count,year,color
group by name,year,color;




引用:
貌似可以 有简单的不。