我是 MySQL 的初学者,我正在使用一个示例数据库,其中包含一个办公室表,其中列出了各个州的所有办公室。我想计算办公室所在的州的数量,排除一个有两个办公室的州。
我知道
SELECT DISTINCT state
FROM offices
WHERE state NOT IN('NULL');
将返回给我所有不同的状态(总共 4 个),但我想把它们加起来。我试过了
SELECT COUNT(*) AS unique_states
FROM offices
WHERE state IN(
SELECT DISTINCT state
FROM offices
WHERE state NOT IN('NULL'));
但这仍然返回 5,即使应该只有 4。
有什么帮助吗?
最佳答案
您不需要使用嵌套查询来实现这一点。
另外,我认为你的意思是使用 state IS NOT NULL
而不是 state NOT IN('NULL')
。
尝试以下查询:
SELECT COUNT(DISTINCT state)
FROM offices
WHERE state IS NOT NULL;
关于mysql - 计算 MySQL 中的不同条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223665/