我是删除数据库里 有某些字段相同的记录只保留一个,这样怎么做?DELETE FROM a
FROM         TollData AS a CROSS JOIN
                      a
WHERE     EXISTS
                          (SELECT     1 AS Expr1
                            FROM          TollData
                            WHERE      (CardID = a.CardID) AND (StCardDate = a.starddate) AND (Balance = a.Balance))

解决方案 »

  1.   

    delete from a where id not in (select max(id) from a group by CardID,StCardDate ,Balance )
      

  2.   

    CardID,StCardDate, Balance 字段都是完全相同的, 只要保留相同中一个就行的
      

  3.   

    楼主看一下delete的帮助,你接着两个from, 这个好像跟命令格式不符哦。
      

  4.   

    delete from [数据库名].[dbo].TollData  where id not in (select max(id) from [数据库名].[dbo].TollData  group by CardID,StCardDate ,Balance )
      

  5.   

    delete from [数据库名].[dbo].TollData  where CardNo not in (select max(CardNo) from [数据库名].[dbo].TollData  group by CardID,StCardDate ,Balance )
      

  6.   

    OK 理解了~~其实用Min也一样,呵呵~~~只要任意一条都行哈~ select 1 能这样吗?