zoukankan      html  css  js  c++  java
  • sqlserver刪除重複行

    1.建表測試用
    create table denny_repeate(empno varchar(20),enname varchar(20))
    insert into denny_repeate values('K1007F86','DENNY'),('K1007F86','DENNY'),('K1007F86','DENNY'),('K1007F86','DENNY'),('K1007C90','KEN'),('K1007C90','KEN'),('K1007C90','KEN'),('K1007C90','KEN'),('K1007C90','KEN'),('K0404103','ALEX')

    2.查詢
    select * from denny_repeate

    顯示
    K1007F86 DENNY
    K1007F86 DENNY
    K1007F86 DENNY
    K1007F86 DENNY
    K1007C90 KEN
    K1007C90 KEN
    K1007C90 KEN
    K1007C90 KEN
    K1007C90 KEN
    K0404103 ALEX
    K1007F86 DENNY
    K1007C90 KEN
    K0404103 ALEX

    3.作業刪除
    declare @empno varchar(20),@enname varchar(20),@sm int;
    declare del_cur cursor for select empno,enname,count(empno)-1 from denny_repeate group by empno,enname having count(empno)>1;
    open del_cur;
    fetch next from del_cur into @empno,@enname,@sm;
    while @@FETCH_STATUS =0
    begin
      delete a from (select top (@sm) * from denny_repeate where empno=@empno) a;
      fetch next from del_cur into @empno,@enname,@sm;
    end
    close del_cur;
    deallocate del_cur;
    4.刪除完成
    再查詢,結果
    K1007F86 DENNY
    K1007C90 KEN
    K0404103 ALEX

    one-SQL

    delete table where f_id in(
    select min(idfield) from table with(nolock) group by field having count(field)>1)

  • 相关阅读:
    Action直接访问Servlet API
    Struts2与Struts1的对比
    参入github上的开源项目的步骤
    TortoiseSVN中图标的含义
    eclipse 快捷键
    base(function strchr)
    1
    Java 关于路径
    java初阶
    关于C++中计时的方法
  • 原文地址:https://www.cnblogs.com/dennysong/p/2988285.html
Copyright © 2011-2022 走看看