是说存在重复记录的么:
select b.* from table1 a,table1 b where a.id<>b.id and a.b=b.b and a.c=b.c and a.d=b.d;

解决方案 »

  1.   

    呵呵,确实,如果按你那几条记录是没问题,多的话会重复出现,可以:
    select distinct b.* from table1 a,table1 b where a.id<>b.id and a.b=b.b and a.c=b.c and a.d=b.d;
      

  2.   

    要是你版本支持子查询的话,可以:
    select * from tabl1 where concat(b,c,d) in(select concat(b,c,d) from tabl1 group by b,c,d having count(*)>1);
    如果bcd组合起来有恰好组合同但各个值不完全同的(如er   tt  ee=e rtt ee),可以加写特殊字符分割,比如:concat(b,'#',c,'#',d)(也有#号组合同的,这个就少了吧)