获取仅在列中出现一次的值的数量

Boo*_*aka 5 mysql sql unique

首先,如果它是相关的,我使用的是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)