我要从access2000的数据库中筛选重复数据出来,简单说来就2个字段,一个为id,另外一个为name,其中id为主键,name有重复的内容,我想筛选出id name2个字段,其中要求就是name字段的值不重复。开始考虑用distinct,但是id必须在第一,也就是说要select id,name from table,id和name字段的顺序不能变,这样distinct也就不能用了。我还从网上看到使用where name in(select.......)这种写法,但是我用了之后报错误。编程语言是vb6.0,数据库是access2000,请问有没有什么好的方法能实现(创建临时表暂时不考虑,感觉有点浪费)

解决方案 »

  1.   

    select id,name from tablename where name in (select name from tablename group by name having count(name)>1)
      

  2.   

    你的意思是重复的NAME只显示一条,还是不显示,比如
    ID        NAME
    --------------------
    1         N1
    2         N2
    3         N3
    4         N2
    5         N4你最后想要得到的结果是
    ID        NAME
    --------------------
    1         N1
    2         N2
    3         N3
    5         N4
    还是
    ID        NAME
    --------------------
    1         N1
    3         N3
    5         N4
      

  3.   

    第一种结果。就是name有重复,我想筛选出数据库中所有的数据,同时把name重复的保留一条,
    id       name
    1         n1
    2         n2
    3         n3
    4         n3
    5         n4
    那么我只要
    id       name
    1         n1
    2         n2
    3         n3
    5         n4