选择distinct而不包括重复项

时间:2016-06-21 11:03:49

标签: postgresql duplicates distinct-values

我有一个如下所示的表,我需要一个具有Id唯一值的表和另一个重复Id值的表。

我的问题是我不能使用“select distinct”语句,因为它会包含重复的Id值一次。

Id信件

80004 A

80008 B

80019 C

80086 A

80086 C

80086 B

80066 A

80099 C

80100 A

80087 C

80087 A

我需要的是将前一个表分成两个表,如:

Id信件

80004 A

80008 B

80019 C

80066 A

80099 C

80100 A

Id信件

80086 A

80086 C

80086 B

80087 C

80087 A

1 个答案:

答案 0 :(得分:1)

使用子查询:

select A.id , id_value from

( select id from mytable group by id having count(id_value) >1 ) A
inner join mytable using(id)


select A.id , id_value from

( select id from mytable group by id   having count(id_value) <=1   ) A
inner join mytable using(id)

以下是SQLFIDDLE