假设表中主键是 idSelect * From A t where exists (select 1 from A where english =t.english and id!=t.id)

解决方案 »

  1.   

    假设表A结构和数据,假设下面是重复的,数值如下:
    english, po1,po2
    name1, 111,222
    name1, 111,222
    name2, 121,322
    name2, 111,222
    ...则我需要列出的数据为:
    name1, 111,222
    name1, 111,222
    name2, 121,322
    name2, 111,222而不是仅列出
    name1, 111,222
    name2, 121,322不知道版主明白我的意思没有?
      

  2.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  3.   

    Select english,address,po1,po2,Count(*) From table1 Group By english Having Count(*) > 1列出:
    english           address           po1  po2  Count(*) 
    101 Thai Kitchen     352 King Street  W6 0RX 2
    Abokado              63 Cowcross Street  EC1M 6BP 2
    Addie's      121 EarlCourt Road  SW5 9RL 2
    ...可以看到101 Thai Kitchen是有重复的,两个, Abokado也有两个重复,Addie也有两个重复。需要得到这样的表:
    101 Thai Kitchen          352 King Street W6 0RX
    101 Thai Kitchen          352 King Street W6 0RX
    Abokado                          63 Cowcross Street EC1M 6BP
    Abokado                          40-56 City Road EC1Y 2AN
    Addie's                  121 EarlCourt Road SW5 9RL
    Addie's                  121 EarlCourt Road SW5 9RL
    ...也就是列出所有重复的,不知道这样版主明白了没有呢?
      

  4.   

    Select english,address,po1,po2
    From table1 a
    where 1<(select count(*) from table1 where english=a.english)
      

  5.   

    不好意思,最近没在。
    请问版主这个表a是哪里的?是临时表吗?为什么会english=a.english? 
      

  6.   

    select a.english,a.address,a.po1,a.po2 from A a
    where exists(select 1 from A b where a.english=b.english)
      

  7.   

    select * from A a 
     exists(select 1 from A b where a.english=b.english and  a.id!=b.id )