更正例表table1:
----------------------------------
ID  |   m_date |                body            |        title        |
--------------------------------------------------------------------
001     2003-1-1  作为中国最大的....         csdn中国最大程序员网站
002     2003-1-1  作为中国最大的....         csdn中国最大程序员网站
003     2003-1-1  作为中国最大的....         csdn中国最大程序员网站
004     2003-1-1  论坛的起源........         论坛的新起
005     2003-1-1  论坛的起源........         论坛的新起ID为主键

解决方案 »

  1.   

    蚂蚁的:去除重复值
    如果有ID字段,就是具有唯一性的字段delect table where id not in (  select max(id) from table group by col1,col2,col3...
    )
    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。2,如果是判断所有字段也可以这样
      select * into #aa from table group by id1,id2,....
      delete table 
      insert into table 
      select * from #aa3,没有ID的情况select identity(int,1,1) as id,* into #temp from tabel
    delect # where id not in (
      select max(id) from # group by col1,col2,col3...)
    delect table
    inset into table(...)
       select ..... from #temp
    col1+','+col2+','...col5 联合主键
    select * from  table where col1+','+col2+','...col5 in (  select max(col1+','+col2+','...col5) from table 
    where having count(*)>1
    group by col1,col2,col3,col4 
    )
    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。2,
    select identity(int,1,1) as id,* into #temp from tabel
    select * from  #temp where id in (
      select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)
      

  2.   

    太簡單了方法:
         先建一個和原Table 一樣的虛擬Table 
         然後插入唯一的值到虛擬Table 中
         刪除原Table中所有的資料
         再插入虛擬Table中暫存的資料
         OK
    SQL:
         set nocount on 
         select  *  into #TableB  from  TableA   --建擬Table 
         insert  into #TableB    select  distinct(*) from   TableA   
         delete  from  TableA   --刪除原Table中所有的資料
         insert into TableA  from #TableB    
         set nocount off