在PostgreSQL中查找非唯一行的ID

时间:2015-10-18 09:35:53

标签: sql postgresql

在我的PostgreSQL数据库中,我有表学校,其中包含以下列

id - primary key
school_identifier - string
school_name - string

现在我想找到标识符不唯一的学校ID。我怎样才能在SQL中执行此操作?

2 个答案:

答案 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。