脚本宝典收集整理的这篇文章主要介绍了php – MySql查询通过保留最新的时间戳值来删除重复的行?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
delete From dummy1 where LAST_USED_DATE not in( select max(LAST_USED_DATE) from dummy1 group by ID,NAME);
@H_404_7@
DELETE d FROM dummy1 d JOIN ( SELECT d1.id,d1.name,MAX(d1.last_used_date) max_date FROM dummy1 d1 JOIN dummy1 d2 ON d1.id = d2.id AND d1.name = d2.name GROUP BY id,name ) q ON d.id = q.id AND d.name = q.name AND d.last_used_date <> q.max_date@H_404_7@这是@L_406_17@演示
@H_404_7@更新要仅检查重复的ID,您可以稍微调整上述查询
@H_404_7@
DELETE d FROM dummy1 d JOIN ( SELECT d1.id,MAX(d1.last_used_date) max_date FROM dummy1 d1 JOIN dummy1 d2 ON d1.id = d2.id GROUP BY id ) q ON d.id = q.id AND d.last_used_date <> q.max_date@H_404_7@这是SQLFiddle演示 @H_404_7@UPDATE2删除具有最大时间戳的duPEs
@H_404_7@1)您可以通过引入具有IGNORE选项的唯一索引.在那种情况下,MysqL将决定自己保留哪些记录.
@H_404_7@
ALTER TABLE dummy1 ENginE MyISAM; ALTER IGNORE TABLE dummy1 ADD unique (id,name); ALTER TABLE dummy1 ENGINE InnoDB;
以上是脚本宝典为你收集整理的php – MySql查询通过保留最新的时间戳值来删除重复的行?全部内容,希望文章能够帮你解决php – MySql查询通过保留最新的时间戳值来删除重复的行?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。