我有一个如下所示的表,我需要一个具有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
答案 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