2016-06-21 50 views
0

我有一张表,看起来像下面,我需要一个表的唯一值的Id和另一个与Id值重复。选择不同,不包括重复

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

标识信

80004甲

80008乙

80019Ç

80086甲

80086Ç

80086乙

80066一

80099ç

80100一

80087ç

80087一

我需要的是前面的表分为两个表看起来像:

ID字母

80004甲

80008乙

80019Ç

80066甲

80099Ç

80100甲

标识信

80086甲

80086Ç

80086乙

80087Ç

80087甲

+0

我不明白这个分裂的逻辑。请扩大。 – sagi

+0

我只想与那些只有一个组(如80004,80008 ...)和他们的组的一个表。我还需要另一个带有可以具有不同组(80086和80087)及其组(80086和80087的A,C和B,以及80087的C和A)的Id的表。 – Judit

+0

但是为什么'80004,80008'是一个组而不是'80004,80086'?这个 – sagi

回答

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