T-SQL Recipes之删除重复行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-SQL Recipes之删除重复行相关的知识,希望对你有一定的参考价值。

一、准备基础数据

(1)创建辅助表,方便以后倾向于Set-base方式解决问题

技术分享
-- Creating and Populating the Nums Auxiliary Table
SET NOCOUNT ON;
IF OBJECT_ID(dbo.Nums, U) IS NOT NULL
    DROP TABLE dbo.Nums;

CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY);

DECLARE @max AS INT ,
    @rc AS INT;

SET @max = 1000000;
SET @rc = 1;

INSERT  INTO dbo.Nums
        ( n )
VALUES  ( 1 );
WHILE @rc * 2 <= @max 
    BEGIN
        INSERT  INTO dbo.Nums
                ( n )
                SELECT  n + @rc
                FROM    dbo.Nums;
        SET @rc = @rc * 2;
    END
INSERT  INTO dbo.Nums
        ( n
        )
        SELECT  n + @rc
        FROM    dbo.Nums
        WHERE   n + @rc <= @max;
GO
View Code

 

以上是关于T-SQL Recipes之删除重复行的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL Recipes之Index Defragmentation

T-SQL Recipes之Customized Database Objects

T-SQL Recipes之 Table Variables and Temporary Tables and CTE

T-SQL:删除所有重复的行但保留一个[重复]

十九curator recipes之PathChildrenCache

二十curator recipes之NodeCache