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)

  • 相关阅读:
    06C++11线程池
    05C++11生产者消费者模式2
    04C++11生产者消费者模式
    03智能指针之shared_ptr
    洛谷P1262+Tarjan缩点
    洛谷P1147 连续自然数和
    洛谷P1970 花匠
    接下来的一些操作
    树状数组 代码(洛谷为例)
    洛谷P1576 最小花费
  • 原文地址:https://www.cnblogs.com/dennysong/p/2988285.html
Copyright © 2011-2022 走看看