准确来说,它并没有重复,执行前先备份SELECT cf_id,sp_no,sp_name,ps_sn,ps_name,[count],MAX(centerid)centerid INTO #t
FROM TB
GROUP BY cf_id,sp_no,sp_name,ps_sn,ps_name,[count]
go
TRUNCATE TABLE TB
go
INSERT INTO tb
SELECT *
FROM #t

解决方案 »

  1.   

    以上数据是通过以下SQL语句查出来的,这个表中还有很多其他记录的,试了你的方法,不行。
    SELECT  *
    FROM psbasetime where Sp_No = '1-FC-27-27548L-BL-01'
      

  2.   

    你看看这样会不会还有重复
    SELECT cf_id,sp_no,sp_name,ps_sn,ps_name,[count],MAX(centerid)centerid 
    FROM TB
    GROUP BY cf_id,sp_no,sp_name,ps_sn,ps_name,[count]
      

  3.   

    楼主的意思 “保留(centerid有数值)的记录 ”  是都保留 还是说 保留一条?因为你上面的数据 基本都是一条null 一条有值 不知道有没有多条相同记录且有centerid有数值   如果有这种情况 怎么保留,楼主说的不太清楚
      

  4.   

    关键这个表里面还有其他重复和不重复的数据,而且数据还蛮多的,我只能按照sp_no这个字段一条条去删除这些重复记录的。SELECT cf_id,sp_no,sp_name,ps_sn,ps_name,max(workcenterid)centerid 
    FROM psbasetime 
    where Sp_No = '1-FC-27-27548L-BL-01'
    GROUP BY cf_id,sp_no,sp_name,ps_sn,ps_name
      

  5.   

    关键这个表里面还有其他重复和不重复的数据,而且数据还蛮多的,我只能按照sp_no这个字段一条条去删除这些重复记录的。SELECT cf_id,sp_no,sp_name,ps_sn,ps_name,max(workcenterid)centerid 
    FROM psbasetime 
    where Sp_No = '1-FC-27-27548L-BL-01'
    GROUP BY cf_id,sp_no,sp_name,ps_sn,ps_name黄桑的意思是你的PS_SN这列是否有实际意义,如果只是删除用的话,那select 和group by里不要包含这里就可以了
      

  6.   


    是我自己弄错了,大神~ 你的方法是正确的,非常+十分感谢very much~~~