gpt4 book ai didi

mysql - 删除具有相同 ID 号的重复行

转载 作者:行者123 更新时间:2023-11-29 12:00:55 26 4
gpt4 key购买 nike

我注意到我的一个表中有很多重复项。以下是表格外观的示例(具有一个 id_product_attribute 编号的示例):

enter image description here

所以我想删除每个 id_product_attribute 的重复货币。期望的结果是每个 id_product_attribute 都有一种 id 货币。这意味着:1、2、3、4、6 --> 每个 id_product 5 行,而不是 10 行(5 个重复项)。

我尝试使用不同的代码,但无法使其工作:

DELETE FROM product_attribute USING product_attribute, product_attribute pa
WHERE product_attribute.id_currency > pa.id_currency
AND product_attribute.id_product_attribute = pa.id_product_attribute
AND product_attribute_price.id_product_attribute = '16632'

因此,如果我运行上述命令,我将删除所有内容,只有 id_curreny 1 会保留在那里。我需要:

Attribute Currency 
16632 - 1
16632 - 2
16632 - 3
16632 - 4
16632 - 6

有人可以帮我解决这个问题吗?任何提示将不胜感激。

谢谢

最佳答案

就个人而言,我会使用带有聚合的子查询。但您也可以采用您想要的方法。使用左连接代替常规连接并检查是否没有匹配项:

DELETE pa
FROM product_attribute pa LEFT JOIN
product_attribute pa2
ON product_attribute.id_currency > pa.id_currency AND
pa.id_product_attribute = pa2.id_product_attribute AND
WHERE pa.id_product_attribute = '16632' AND
pa2.id_product_attribute IS NULL;

关于mysql - 删除具有相同 ID 号的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com