Mysql 计数次数之和
我有以下疑问:Mysql 计数次数之和,mysql,sql,Mysql,Sql,我有以下疑问: SELECT num1 -> from table4 -> WHERE suffix IN ('mt', 'dn') -> GROUP BY num1 -> HAVING COUNT(DISTINCT suffix) = 2; 这让我看到以下几点: 1563866656871111 1563866656876839 1563866656878888 1563867854324841 我怎么能只得到一个数字4呢 感谢
SELECT num1
-> from table4
-> WHERE suffix IN ('mt', 'dn')
-> GROUP BY num1
-> HAVING COUNT(DISTINCT suffix) = 2;
这让我看到以下几点:
1563866656871111
1563866656876839
1563866656878888
1563867854324841
我怎么能只得到一个数字4呢
感谢您的帮助:您只需包装现有查询即可:
SELECT COUNT(*)
FROM (
SELECT num1
FROM table4
WHERE suffix IN ('mt', 'dn')
GROUP BY num1
HAVING COUNT(DISTINCT suffix) = 2
) x
注意:根据您的示例数据,这将返回3,而不是4。在您的问题修改之后,您似乎需要在下面进行修改
SELECT num1
FROM table4
WHERE suffix IN ('mt', 'dn')
GROUP BY num1
HAVING COUNT(DISTINCT suffix)!<>2
如果你想计算行数,那么你可以通过这个得到它
SELECT COUNT(x.num1)
FROM (
SELECT num1
FROM table4
WHERE suffix IN ('mt', 'dn')
GROUP BY num1
HAVING COUNT(DISTINCT suffix) = 2
) x
选择4???你到底想做什么?如果你只是想把count放进去,选择countnum1作为count。。。。然后你会得到3,但不是4对不起,它被错误地引用了,应该有四行数字请参见:。请注意,这里有一个编辑按钮。您的解决方案以某种方式显示了此输出:2我认为count DISTINCT suffix=2@vladpoverin共享示例表数据和预期输出