Deleting Duplicate Rows

本文介绍了一种用于删除数据库表中指定列重复值的方法。通过对比同一列的不同行数据,如果发现重复,则删除对应的行。该方法适用于包含自动增长ID字段的表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
--**************************************
--     
-- Name: Deleting Duplicate Rows
-- Description:The Purpose of this code 
--     is to delete the duplicate values occuri
--     ng in a table. This code is column-orien
--     ted. That means the code works for the d
--     uplicate values occuring in a specified 
--     column and deletes the values of the row
--     s corresponding to that column.
-- By: barkýn ünüulu
--
-- Inputs:I am going to specify the colu
--     mn name as COLUMNNAME and table name as 
--     TABLENAME. It should be noted that the d
--     evelopers that are willing to run this c
--     ode should put an "id" column in to thei
--     r tables, which increments automatically
--     .
--
-- Side Effects:As the row number increa
--     ses, the time elapsed for the code incre
--     ases...
--
--This code is copyrighted and has-- limited warranties.Please see http://
--     www.Planet-Source-Code.com/vb/scripts/Sh
--     owCode.asp?txtCodeId=936&lngWId=5--for details.--**************************************
--     

DECLARE @i int
DECLARE @j int
DECLARE @k int
SET @k=(select count(*) FROM TABLENAME)
SET @i=1
 WHILE @i<=@k


     BEGIN
    SET @j=@i+1
     WHILE @j<=@k


         BEGIN
         IF ((select COLUMNNAME FROM TABLENAME WHERE ID=@i)=
        (select COLUMNNAME FROM TABLENAME WHERE ID=@j))


            begin
             DELETE FROM TABLENAME
             WHERE ID=@j
        end

SET @j=@j+1 end
SET @i=@i+1 END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值