首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎樣根據某些值重復刪除數據庫里記錄?该怎么解决

2012-02-02 
怎樣根據某些值重復刪除數據庫里記錄?例如有表Aabc6AF1406AF1807AE2507AE260現在把a,b列重復的刪除只留一

怎樣根據某些值重復刪除數據庫里記錄?
例如有表A
        a                 b                   c
    6AF                 1                   40
    6AF                 1                   80
    7AE                 2                   50
    7AE                 2                   60

現在把a   ,   b   列重復的刪除只留一筆(哪筆都無所謂)
結果應該是
        a                 b                   c
    6AF                 1                   40
    7AE                 2                   50


[解决办法]
如果有某个字段(不包含A,B)能确定大小就行.
如果不能,必须使用临时表.

1,如果有某个字段能确定打下,如C,按我上述方法.

2,如果没有.使用临时表.
select id=identity(int,1,1) , * into temp from tb
delete temp where id not in (select min(id) from tb group by a,b)
select * from temp

热点排行