仅在MySQL数据库存在一次时才从MySQL数据库中选择一个值

Elm*_*lmi 2 mysql sql select count

假设我有一个MySQL表,其中包含以下条目:

1
2
3
2
5
6
7
6
6
8
Run Code Online (Sandbox Code Playgroud)

当我做"SELECT*..."时,我会收回所有条目.但我想只返回这些条目,这些条目在表格中只存在一次.表示值为2(存在两次)和6(存在三次)的行必须完全从我的结果中删除.

我找到了一个关键字DISTINCT,但据我所知它只避免条目显示两次,它不会完全过滤它们.

我认为可以用COUNT以某种方式完成,但我尝试的并不是真正成功.那么这里的SQL语句是什么?

编辑:澄清一下,我想要回来的结果是

1
3
5
7
8
Run Code Online (Sandbox Code Playgroud)

Sir*_*rko 6

您可以COUNT()结合使用GROUP BY和这样的HAVING子句:

SELECT yourCol
FROM yourTable
GROUP BY yourCol
HAVING COUNT(*) < 2
Run Code Online (Sandbox Code Playgroud)

示例小提琴.


Jam*_*egg 5

您想要混合GROUP BY和COUNT().

假设该列被称为"id"并且该表被称为"table",则以下语句将起作用:

SELECT * FROM `table` GROUP BY id HAVING COUNT(id) = 1
Run Code Online (Sandbox Code Playgroud)

这将完全过滤掉重复的结果(例如它会取出你的2和6)

  • 你不需要`WHERE 1` (2认同)