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分组去重的主要内容,如果未能解决你的问题,请参考以下文章
去重 ROW_NUMBER() OVER(PARTITION BY 分组字段 ORDER BY 排序字段) RN
Postgresql 根据单列或几列分组去重row_number() over() partition by
sql 分组取最新的数据sqlserver巧用row_number和partition by分组取top数据
ROW_NUMBER() OVER()函数用法;(分组,排序),partition by
MYSQL-实现sqlserver- row_number() over(partition by order by) 分组排序功能