在我的PostgreSQL数据库中,我有表学校,其中包含以下列
id - primary key
school_identifier - string
school_name - string
现在我想找到标识符不唯一的学校ID。我怎样才能在SQL中执行此操作?
答案 0 :(得分:2)
您可以按school_identifier
分组并使用COUNT
。接下来,您只需要过滤具有计数>的记录1。
SELECT school_identifier, COUNT(*)
FROM tbl
GROUP BY school_identifier
HAVING COUNT(*) > 1;
答案 1 :(得分:2)
试试这个
select id from schools where school_identifier in (
SELECT school_identifier
FROM schools
GROUP BY school_identifier
HAVING COUNT(*) > 1)
这里我首先在子查询中获取重复的school_identifiers。对于那些人,我通过将子查询中的school_identifier与主表进行比较来获得id。