Sqlserver中ROW_NUMBER分组去重

Posted dengjb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver中ROW_NUMBER分组去重相关的知识,希望对你有一定的参考价值。

 

--PARTITION BY分组

DECLARE @table TABLE (
 code VARCHAR(100)
 ,name NVARCHAR(100)
 
)

INSERT INTO @table
(
 code
    ,name
)
VALUES(‘张三‘,‘aa‘),(‘张三‘,‘aa‘),(‘张三‘,‘aa‘),(‘李四‘,‘bb‘),(‘李四‘,‘bb‘),(‘李四‘,‘bb‘),(‘王五‘,‘cc‘),(‘王五‘,‘cc‘),(‘王五‘,‘cc‘),(‘张三‘,‘cc‘)


SELECT
 ROW_NUMBER() OVER(PARTITION BY code ORDER BY (SELECT 1)) num
 ,code
 ,name
 FROM @table

 SELECT
 ROW_NUMBER() OVER(PARTITION BY code,name ORDER BY (SELECT 1)) num
 ,code
 ,name
 FROM @table

 

以上是关于Sqlserver中ROW_NUMBER分组去重的主要内容,如果未能解决你的问题,请参考以下文章