求教sqlserver排除颠倒重复的数据只保留1条
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教sqlserver排除颠倒重复的数据只保留1条相关的知识,希望对你有一定的参考价值。
--判断一个字段重复就只显示一条,用distinct是不行的,可以用row_number()根据这个字段分组显示优先级,然后只取每个组的第一条select * from(select *,row_number() over(partition by 判断重复的字段名) as f_id from 表名) twhere f_id =1 参考技术A 什么叫颠倒重复。 参考技术B 删除颠倒重复的数据值保留一条DELETE a FROM dbo.Table_A a
INNER JOIN dbo.Table_A b ON a.bid=b.aid AND a.aid=b.bid AND b.abchangdu = a.abchangdu
WHERE a.bid>b.bid AND a.aid<b.aid
筛选颠倒重复的数据值保留一条
SELECT * FROM dbo.Table_A a
INNER JOIN dbo.Table_A b ON a.bid=b.aid AND a.aid=b.bid AND b.abchangdu = a.abchangdu
WHERE a.bid>b.bid AND a.aid<b.aid
保留的是【bid】较小的那一条
数据库怎样删除多条重复数据保留一条?
delete 表A where 重复的列名(可以是多列) in (select 重复的列名(可以是多列) from 表A group by 重复的列名(可以是多列) having (count(1)>1) ) where rowid!=(select min(rowid) from 表A group by 重复的列名(可以是多列)having (count(1)>1));删除重复的数据,留下rowid最小的那条! 参考技术A 一张表里面以两个字段为唯一字段,当几条记录的这两个字段完全相同时,需要删除重复项,如下表:
a b c d
1 2 3 4
1 5 3 5
1 2 7 9
以a、b为唯一字段,第一条和第三条的a、b完全相同,所以,需要删除第一条记录1 2 3 4 或者第三条记录1 2 7 9
即如下结果:
a b c d
1 2 3 4
1 5 3 5
或
a b c d
1 5 3 5
1 2 7 9
以上是关于求教sqlserver排除颠倒重复的数据只保留1条的主要内容,如果未能解决你的问题,请参考以下文章