Mysql SQL-如何在不使用AND的情况下处理两个条件?

Mysql SQL-如何在不使用AND的情况下处理两个条件?,mysql,sql,Mysql,Sql,我有一个疑问: String queryStr = 'SELECT COUNT(*) FROM tester x WHERE x.state !=:state' setParameter("state", "state1"); 我想数一数“状态1”和“状态2” 有没有办法做到这一点,而不是: String queryStr = 'SELECT COUNT(*) FROM tester x WHERE (x.state !=:state1 AND x.state !=:state2)'; se

我有一个疑问:

String queryStr = 'SELECT COUNT(*) FROM tester x WHERE x.state !=:state'
setParameter("state", "state1");
我想数一数“状态1”和“状态2” 有没有办法做到这一点,而不是:

String queryStr = 'SELECT COUNT(*) FROM tester x WHERE (x.state !=:state1 AND x.state !=:state2)'; 
setParameter("state1", "state1");
setParameter("state2", "state2");
谢谢

不用

WHERE (x.state NOt IN (:state1,:state2))
那么您的整个查询将被删除

'SELECT COUNT(*) FROM tester x WHERE (x.state NOt IN (:state1,:state2))';
注:上述解决方案是根据您的查询,但根据您的文本[我想计算所有“state1”和“state2”]

那么您的查询就可以

'SELECT COUNT(*) FROM tester x WHERE x.state = :state1 AND x.state = :state2'; 

表中的其他列是什么,可以使用
groupby
来完成。不清楚是否要分别计算state1和states2的行数。第二个查询计算ar不等于的行数。当然状态不能等于state1和state2?是@pdem现在你明白我为什么写了两个答案了吗?@Imran Qamer是的。编辑你的查询并添加示例数据和所需结果。这个问题没有意义。第一个问题是正确的。我不明白为什么您添加了第二个始终返回0的查询。顺便说一句,需求要求它,但它没有意义。事实上,这个问题有点混乱,只需重新研究这一行[我想计算所有“state1”和“state2”]