首先,如果它是相关的,我使用的是MySQL,虽然我认为解决方案适用于数据库产品.我的问题是:
我有一个单列的简单表.列没有约束.在这一列中有一些简单的数据,例如
a
a
b
c
d
d
Run Code Online (Sandbox Code Playgroud)
我需要获得仅出现一次的值的数量/数量.从上面的示例中可以看出2(因为只有b和c在列中出现一次).
希望很明显我不想要DISTINCT值,而是UNIQUE值.我之前实际上已经这样做了,通过在列上创建一个带有UNIQUE约束的附加表,并简单地从旧表中插入新表,相应地处理重复项.
我希望找到一个不需要临时表的解决方案,并且可以通过一个漂亮的SELECT完成.
Rom*_*ain 15
假设您的表被调用T并且您的字段被调用F:
SELECT COUNT(F)
FROM (
SELECT F
FROM T
GROUP BY F
HAVING COUNT(*) = 1
) AS ONLY_ONCE
Run Code Online (Sandbox Code Playgroud)