我有一个表,我想合并具有相同名称的两行的数据,如下所示:
id | name | price | priced
1 | Samsung | 100 | 0
2 | Samsung | 0 | 500
我希望最后的输入是:
id | name | price | priced
(doesn't matter) | Samsung | 100 | 500
试试这个:
SELECT MAX(id) as id, name,MAX(price) as price, MAX(priced) as priced
FROM TableName
GROUP BY name
插入表中:
INSERT INTO Table2 VALUES
(SELECT MAX(id) as id, name,MAX(price) as price, MAX(priced) as priced
FROM TableName
GROUP BY name)
编辑
如您所说,合并(插入新的并删除其他人)
INSERT INTO TableName VALUES
(SELECT MAX(id)+1 as id, name,MAX(price) as price, MAX(priced) as priced
FROM TableName
GROUP BY name)
--Now deleting others
DELETE T1 FROM TableName T1, TableName T2 WHERE T1.id < T2.id AND T1.name = T2.name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句