[英]how to use the “DELETE” in mysql with COUNT and INNER JOIN?
我从mysql开始,我想知道如何删除下面的SELECT结果,谢谢大家!
SELECT ID,post_name,meta_value, guid, COUNT( meta_value )
FROM wp_postmeta
INNER JOIN wp_posts
WHERE wp_postmeta.post_id = wp_posts.ID AND wp_postmeta.meta_value >100
GROUP BY meta_value
HAVING COUNT( meta_value ) >1
您可以先选择并创建一个数组,也可以使用IN子句将该查询与删除查询直接放置在一起。
DELETE from wp_posts
WHERE ID IN (
SELECT ID
FROM wp_posts
INNER JOIN wp_postmeta
WHERE wp_postmeta.post_id = wp_posts.ID AND wp_postmeta.meta_value >100
GROUP BY meta_value
HAVING COUNT( meta_value ) >1)
如果您将postmeta colum post_id设置为外键,如在删除级联上,则该表中的数据将自动删除。
否则,请考虑创建帖子ID和Postmeta ID的唯一数组。 并使用带有IN子句的两个单独的删除查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.