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共享示例表数据和预期输出