mysql - 删除具有重复字段值的行,但在 MySQL 中保留后面的行
问题描述
我对 MySql 很陌生,我想运行一个查询并删除重复 product_id 的记录并保留最新的
id rule_id produc_id
6 3 2
7 3 3
8 4 2
9 4 5
10 4 9
这是我的表,我想删除id=6的记录,因为这里的 product_id 在id=8中再次重复,但我想保留id=8的记录...
此外,查询应该足够灵活,以便如果我再次在表中添加具有重复 product_id 的另一条记录,则查询应该删除id=8的记录并保留最新记录......提前致谢......
解决方案
DELETE t1
FROM table t1
JOIN table t2 USING (produc_id)
WHERE t1.id < t2.id
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=2c2724a7b82bc78e7f6ecbaeeeabc2f6
推荐阅读
- javascript - Vue Js v-btn-toggle 类使用 Mandatory Prop 选择特定索引
- javascript - 为什么当我将 gas 增加到大于 10 时我的合约购买失败?
- java - 测试适用于 Java 的 Azure 权限 SDK 时出现 NoClassDefFoundError
- python - TypeError:预期的字符串或类似字节的对象我收到此错误
- python - 将实时视频帧从用户/客户端(Android 应用程序、iPhone 应用程序、python)流式传输到 Flask API(服务器),然后返回到客户端
- android-studio - 如何在 Android Studio 中增加数据库检查器查询部分的字体大小
- wordpress - 基于可用变体的 WordPress WooCommerce get_sign_up_fee
- django - 如何在模板中动态引用 Django 查询集对象中的字段?
- python - 我应该对哪些数据进行标准化以训练一个好的模型?
- c# - 从datagridview c#中获取一个特定的单元格