诶本来不想帮你的,看见一楼的发言我就忍不住了。
SELECT * FROM TEST2 WHERE ID NOT IN(SELECT id FROM TEST2 GROUP BY `NAME`,CON)

解决方案 »

  1.   

    SELECT * FROM TEST2 WHERE ID NOT IN(SELECT id FROM TEST2 GROUP BY `NAME`,CON)
    这一条语句我按照我的数据表和字段把它改成了SELECT * FROM bigdata_comment WHERE ID NOT IN(SELECT ID FROM bigdata_comment GROUP BY UserName,ContentText);是这样么?这条语句是查询出来的重复的数据么
      

  2.   

    [code=sql server]查找重复数据
    select * from test group by UserName+ContentTex having count(UserName+ContentTex)>1
    delete from test group by UserName+ContentTex having count(UserName+ContentTex)>1
    [/code]
      

  3.   

    诶这还看不懂?
    SELECT ID FROM bigdata_comment GROUP BY UserName,ContentText);
    表示分组后的数据ID,
    重复的数据分组后只显示一个了,
    然后把不在这个分组里的所有的数据删除掉。
      

  4.   


    select id from (select UserName,ContentText from 表名 group by UserName,ContentText having(COUNT(1))>1
    上面是查询出UserName,ContentText这两个列有重复的数据的ID  然后你再根据ID删除数据就好了
      

  5.   

    select id from (select UserName,ContentText from 表名 group by UserName,ContentText having(COUNT(1))>1) as a
      

  6.   

    哦原来你的SQL语句是多次执行的,那我理解错了。
      

  7.   


    要怎么删除呢?求解呀
    这样的两条是不算重复的,除非UserName和ContentText都一样才删除...
      

  8.   

    你要是查重复不多的就用我的方法,要是重复次数多,就用这位仁兄的
    --删除重复数据
    --方法
    ---用户删除大量数据重复,数据重复次数不多
    begin
      while((select count(1) from (select entry_id from ksd_entry group by entry_id having(COUNT(1))>1) as a
    )>0)
     begin
        delete from ksd_entry where ksdid in (select min(entry_id) from ksd_entry group by entry_id having(COUNT(1))>1)
     end
    end
    --方法1
    ------用于删除数据多次重复的数据
    delete from ksd_entry where ksdid not in (select min(ksdid) from ksd_entry group by entry_id)
    我的方法给你  自己改改
      

  9.   

    wo bu shi  gaosu ni le me
      

  10.   


    看来你数据库没怎么学好啊  好人做到底,语句直接给你写好
    begin
      while((select count(1) from (select UserName,ContentText from bigdata_comment group by UserName,ContentText having(COUNT(1))>1) as a
    )>0)
     begin
        delete from bigdata_comment where ID in (select min(ID) from bigdata_comment group by UserName,ContentText having(COUNT(1))>1)
     end
    end
      

  11.   


    看来你数据库没怎么学好啊  好人做到底,语句直接给你写好
    begin
      while((select count(1) from (select UserName,ContentText from bigdata_comment group by UserName,ContentText having(COUNT(1))>1) as a
    )>0)
     begin
        delete from bigdata_comment where ID in (select min(ID) from bigdata_comment group by UserName,ContentText having(COUNT(1))>1)
     end
    end

    为啥不用我在3#的NOT IN啊这么写多麻烦啊。
      

  12.   


    看来你数据库没怎么学好啊  好人做到底,语句直接给你写好
    begin
      while((select count(1) from (select UserName,ContentText from bigdata_comment group by UserName,ContentText having(COUNT(1))>1) as a
    )>0)
     begin
        delete from bigdata_comment where ID in (select min(ID) from bigdata_comment group by UserName,ContentText having(COUNT(1))>1)
     end
    end

    为啥不用我在3#的NOT IN啊这么写多麻烦啊。你上面写的也可以,但是你看楼主发的,我跟他说了  我的和你的都可以,但是他不会用,只好我自己顺手给他写好语句了
      

  13.   

    (select UserName,ContentText from (select UserName,ContentText from bigdata_comment group by UserName,ContentText having(COUNT(1))>1) as a)
    这个语句我测试了可以查出来,就是不知道怎么删除呀我加了delete删除就报错了???
      

  14.   

    (select UserName,ContentText from (select UserName,ContentText from bigdata_comment group by UserName,ContentText having(COUNT(1))>1) as a)
    问一下这个语句我怎么把查询到的结果给删掉了呀???delete怎么加呢
      

  15.   

    DELETE m FROM bigdata_comment as m 
        JOIN
      (SELECT ID, UserName ,ContentText FROM bigdata_comment GROUP  BY  UserName ,ContentText HAVING COUNT(*)>1 ) as n
        ON m.UserName = n.UserName  AND m.ContentText=n.ContentText
    where m.ID != n.ID; 
    我用这个语句给解决了,不管怎么样还是谢谢大家了!
      

  16.   

    delete from table1 where exists(select 1 from table1 b where table1.UserName=b.UserName and table1.ContentText=b.ContentText and table1.id <b.id)