首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除重复行,但仅针对每个产品id

如何删除重复行,但仅针对每个产品id
EN

Stack Overflow用户
提问于 2018-06-07 14:19:02
回答 2查看 32关注 0票数 1

我想删除重复的行,但只针对每个产品id,下面是我的表数据:

运行delete语句后,最终结果如下所示:

到目前为止,我的问题是:

代码语言:javascript
复制
DELETE FROM `test` WHERE name IN (SELECT name FROM `test` GROUP BY name HAVING COUNT(name)>1)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-07 14:27:35

您可以使用自连接根据相同的product_idname删除重复的行

代码语言:javascript
复制
delete a
from test a
left join test b on a.product_id = b.product_id
                 and a.name = b.name
                 and a.id > b.id
where b.product_id is not null

Demo

票数 0
EN

Stack Overflow用户

发布于 2018-06-07 14:33:42

我想你可以试试这个。这是我的工作。

代码语言:javascript
复制
DELETE FROM test WHERE id NOT IN (SELECT min(a.id) FROM test a GROUP BY a.name)

请注意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50734162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档