脚本宝典收集整理的这篇文章主要介绍了php – 更新和删除合并记录的查询,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
id | fname | lname | skills 22 | Jane | Doe | PHP,MysqL 43 | Jane | Doe | java,oracle,PHP 45 | Jane | Doe | mongo,MysqL
id | fname | lname | skills 45 | Jane | Doe | PHP,MysqL,java,mongo
技能将与最新的id和其他重复记录合并删除
任何帮助对我都非常有用.
UPDATE YourTable t INNER JOIN(SELECT max(s.id) as max_id,s.fname,s.lname,GROUP_CONCAT(distinct(s.skills)) as skill_str From YourTable s group by s.fname,s.lname) t1 ON (t.lname = t1.lname and t.fname = t1.fname AND t.id = t1.max_id) SET t.skills = t1.skill_str
这会将表更新为您想要的concat,然后删除:
DELETE From YourTable t WHERE t.ID NOT IN(SELECT MAX(s.id) FROM YourTable s GROUP BY s.lname,s.fname)
只有当ID是唯一的时,删除才有效!它将删除所有不是最大ID的记录
编辑:试试这个:
DELETE t FROM candidate t LEFT JOIN(SELECT MAX(s.candidate_id) as max_id FROM candidate s GROUP BY s.fname,s.lname) t1 ON (t.candidate_id = t1.max_id) WHERE t1.max_id is null
以上是脚本宝典为你收集整理的php – 更新和删除合并记录的查询全部内容,希望文章能够帮你解决php – 更新和删除合并记录的查询所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。