繁体   English   中英

如何在COUNT和INNER JOIN中使用mysql中的“ DELETE”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM