You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL批量更新:将重复ISRC的SoundRecordingCode设为最大值

MySQL批量更新重复ISRC对应的SoundRecordingCode为最大值

要实现将同一ISRC下所有记录的SoundRecordingCode统一更新为该ISRC对应的最大值,你可以通过子查询+JOIN关联的方式完成批量更新,避免只更新单行的问题。

1. 先验证目标最大值(可选但推荐)

先执行以下查询,确认每个ISRC对应的最大SoundRecordingCode是否符合预期:

SELECT ISRC, MAX(SoundRecordingCode) AS max_code
FROM your_table_name
GROUP BY ISRC
HAVING COUNT(*) > 1; -- 仅筛选存在重复的ISRC,可按需移除

2. 执行批量更新

使用UPDATE JOIN关联原表和子查询结果,批量更新所有匹配的记录:

UPDATE your_table_name t1
JOIN (
    SELECT ISRC, MAX(SoundRecordingCode) AS max_code
    FROM your_table_name
    GROUP BY ISRC
) t2 ON t1.ISRC = t2.ISRC
SET t1.SoundRecordingCode = t2.max_code;

如果只想更新存在重复的ISRC对应的记录(即ISRC出现多次的行),可以在子查询中添加HAVING条件:

UPDATE your_table_name t1
JOIN (
    SELECT ISRC, MAX(SoundRecordingCode) AS max_code
    FROM your_table_name
    GROUP BY ISRC
    HAVING COUNT(*) > 1
) t2 ON t1.ISRC = t2.ISRC
SET t1.SoundRecordingCode = t2.max_code;

注意事项

  • 替换your_table_name为你的实际表名
  • 若SoundRecordingCode是字符串类型,MAX()函数会按字典序取最大值;若为数值类型则按数值大小计算
  • 建议先运行子查询确认结果正确后,再执行UPDATE操作,避免误改数据

内容的提问来源于stack exchange,提问作者Ben Carr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 04:35:04