首页 > 解决方案 > 我需要从我的表中删除不同的行

问题描述

正如您从图片中看到的那样,我需要做的就是删除所有多个但只留下一个的行

https://imgur.com/4RUajPQ

在此处输入图像描述

标签: mysqlsql

解决方案


一种非常简单但低效的方法是将表与自身交叉连接并删除重复条目,如下所示:

从 my_table t1、my_table t2 中删除 t1,其中 t1.id > t2.id AND t1.user_id = t2.user_id AND t1.name = t2.name AND t1.time = t2.time AND t1.temperature = t2.temperature AND t1 .activity = t2.activity AND t1.create_time = t2.create_time

如果您确定其值可直接用于识别两行是否可能相互重复的列,也许您可​​以删除查询的 where 子句中的额外相等性检查。


推荐阅读