gpt4 book ai didi

如果重复行,MySQL 更新

转载 作者:行者123 更新时间:2023-11-29 23:55:05 25 4
gpt4 key购买 nike

我有一个包含重复行的表。我想在删除行之前更新它们,只是为了确保我删除了好的行。

删除查询是这样的并且有效:

DELETE FROM cscart_products 
WHERE updated_timestamp
NOT IN (SELECT *
FROM (SELECT MAX(n.updated_timestamp)
FROM cscart_products n
GROUP BY n.product_code) x)

示例表:

product_code    product_type    status    updated_timestamp
DUSP1893 P A 1551
DUSP1893 P A 322
AH324444 P A 555
AH324444 P A 21332

某些产品具有相同的产品代码。我想将那些 update_timestamp 较小的从状态 A 更新为 H。

谢谢

最佳答案

首先获取时间戳较小的行,然后更新这些记录,如下所示:

UPDATE cscart_products
INNER JOIN (
SELECT product_code pc, MIX(updated_timestamp) ts
FROM cscart_products
GROUP BY product_code
) t
ON cscart_products.product_code = t.pc
AND cscart_products.updated_timestamp = t.ts
SET status = 'H'

内部查询将为您提供具有较小时间戳的product_code行。

关于如果重复行,MySQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422940/

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