INSERT INTO tb1(
            id, "Name")
    VALUES ('2', '张三');表A:ID,    Name
1     "张四"
2     "张三"
2     "张三"
这张表,张三这条数据重复了,ID也重复了,我想保留一条,这个SQL怎么写?
我用网上的这种只适合ID不同的情况
select * from A where a.id not in
(
select max(id) from A group by Name
)上面这条好像不适合,,不知道还有没有别的SQL语句能做到

解决方案 »

  1.   

    SELECT DISTINCT * FROM tb;
      

  2.   

    select distinct * into # from tbtruncate table tbinsert tb select * from #drop table #
      

  3.   

    SELECT DISTINCT *
     FROM tb;
      

  4.   

    SELECT DISTINCT * INTO tmp FROM tb1;
    DROP TABLE tb1;EXEC sp_rename 'tmp','tb1','OBJECT';
      

  5.   

    select distinct * from a
      

  6.   

    select distinct * 
    into K from tbdrop table tbexec sp_rename 'k','tb'
      

  7.   

    SELECT DISTINCT * FROM TB ?
      

  8.   


    if object_id('ta')is not null drop table ta 
    gocreate TABLE ta(id  INT, [name] varchar(12))
    INSERT ta select
    1 ,    '张四' union all select 
    2  , '张三' union all select
    2   , '张三' 
    ;with szy as 
    (
    select*,px=row_number()over(partition by id,[name] order by id,[name])
    from ta
    )select * from szy where px=1id          name         px
    ----------- ------------ --------------------
    1           张四           1
    2           张三           1(2 行受影响)