【发布时间】:2021-09-16 21:35:27
【问题描述】:
我想运行一个简单的查询来抛出表 'tmp' 的所有行,这些行在 'post_removed' 列中没有 "yes"
我尝试使用:
SELECT COUNT(post_id NOT IN (SELECT DISTINCT post_id FROM tmp WHERE post_removed = 'yes')) AS total FROM tmp
这反而会引发语法错误。谷歌搜索把我带到了人们说 MySQL 不支持 NOT IN 并且需要使用极其复杂的东西的论坛。我可以计算每一行,在post_removed 列中没有'yes' 吗?
对于列本身,它有两种状态,not_set(默认)和yes(表示已删除,因此不计算查询)
【问题讨论】:
-
这样的问题首先应该对您的数据模型/表结构进行适当的解释。为什么这里有一个子查询?为什么需要 DISTINCT?
-
MySQL support
NOT IN但是你使用它的方式不是根据 MySQL accept 作为有效用法。