首页 > 解决方案 > DISTINCT AND COUNT(*)=1 不适用于 SQL

问题描述

我需要显示 ID(在每种情况下都是唯一的)和名称,有时会有所不同。在我的代码中,我只想显示唯一的名称。

我尝试了 distinct 和 count(*)=1,没有解决我的问题。

SELECT DISTINCT id, name
FROM person
GROUP BY id, name
HAVING count(name) = 1;

结果仍然多次显示名称

标签: sqlcountduplicatesdistinct

解决方案


通过“唯一”,我假设您的意思是只出现一次的名称。这不是 SQL 中“不同”的含义。distinct 的用途是删除重复项(用于计数或在结果集中)。

如果是这样:

SELECT MAX(id), name
FROM person
GROUP BY name
HAVING COUNT(*) = 1;

推荐阅读