我正在运行一个对提交的帖子进行计数的查询:
SELECT COUNT(*)
FROM `wp_posts`
WHERE `post_author` = 4
AND `post_type` = 'nf_sub'
AND `post_status` = 'publish'
这将返回所有帖子。现在我想排除 _form_id_ = 1 的帖子。此查询:
SELECT *
FROM `wp_postmeta`
WHERE `post_id` = 225
AND `meta_key` = '_form_id'
AND `meta_value` = 1
如何将两者合并为一个查询,仅计算 _form_id_ 不等于 1 的行?
最佳答案
从表中,假设链接字段是 wp_posts 表中的主键 wpposts_id
。
使用下面的内部查询,还有其他方法可以实现此目的。
SELECT COUNT(*)
FROM `wp_posts`
WHERE `post_author` = 4
AND `post_type` = 'nf_sub'
AND `post_status` = 'publish'
and `wppost_id` not in ( SELECT `wppost_id`
from `wp_postmeta`
WHERE `post_id` = 225
AND `meta_key` = '_form_id'
AND `meta_value` = 1
);
关于mysql - SQL 计数但排除某些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42440223/