如图,sql server两个字段都相同的话即为重复,查询时怎么去重复?

比如Code字段、ColorNum字段的值都相同,其他字段可以不同。此时认为是重复列,
查询时怎么去重复呢

假设有下列一张表:

这里面ID为002和005的记录是重复的,在这里要把其中一条去掉,达到下面的效果:

看代码:

--去掉重复的记录
select ID,Code,ColorNum from
(
SELECT 
ROW_NUMBER() OVER(
PARTITION BY Code+ColorNum
 ORDER BY Code+ColorNum
 ) rn,
ID,Code,ColorNum
FROM TwoColumns
) a
where
a.rn=1
order by ID

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-11
不是很明白意思

select * from table where Code <> ColorNum ?追问

看我图里,code和color都相同的记录 我希望只出现一行,而图图里是反复出现了

追答

-----这样吗? 去掉两列的重复值?
select Code from table
union
select ColorNum from table

追问

select * from #tm where Guid in (select max(Guid) from #tm group by MaterialTexture,ColorNum)
这样,我已经找到了。

追答

我明白你想要意思了 Guid 是自增字段对吧?

如图,sql server两个字段都相同的话即为重复,查询时怎么去重复?
--去掉重复的记录select ID,Code,ColorNum from(SELECT ROW_NUMBER() OVER(PARTITION BY Code+ColorNum ORDER BY Code+ColorNum ) rn,ID,Code,ColorNumFROM TwoColumns) awherea.rn=1order by ID

Sql Server表里面有2行数据完全一样,如何删除
--1:建立临时表,把不重复的数据转存 select distinct * into #Tmp from 表名;--2:删除原表数据 truncate table 表名;--3:将数据导回 insert into 表名 select * from #Tmp;--4:删除临时表 drop table #Tmp;二:删除全部重复记录:delete from 表名 where 字段1=xxx,字段2=xxx......

SQLServer中删除重复数据的几个方法
autoID select * from #Tmp where autoID in(select autoID from #tmp2) 最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列) 您可能感兴趣的文章:SQL Server数据库删除数据集中重复数据实例讲解Sql Server使用cursor处理重复数据过程...

怎样去除sql server数据库中查询到的重复的记录
1.查询出重复记录 select 重复记录字段 form 数据表 group by houseno having count(重复记录字段)>1 2.重复记录只显示一条ID值最小或最大的记录 select id,* from 数据表 where houseno (select 重复记录字段 form 数据表 group by 重复记录 字段 having count(重复记录字段)>1 )这样...

sql查询去掉重复记录
1、打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表做示例,如下图所示:2、输入“select * from user where name in (select name from user group by name having count(name) > 1) ”sql语句,点击运行可以看到查询出了数据库中user表的重复数据。3、通过“delete from user ...

SQL SERVER怎么去掉重复数据?
首先,你的表设计就有问题。存在两行完全相同的数据。在设计表时,要设计一个primary key,主键。在维护数据方面,比较方便。你用临时表,表变量的方式临时存储数据。再更新表内容。用关键字distinct过滤掉重复的记录 select distinct * #t from a insert into a select * from #t drop table #t ...

在sql server中如何把某个字段重复的记录去掉?
如果你能保证这一行所有数据都是重复的,可以用select distinct 字段。。如果只有firstname字段是重复的,其他的不重复那就不行了 你要检查inner两边的表中是否有重复数据,是否需要去重复之后再关联

使用sql server 怎么查重复数据
所有名字重复人的记录是:select * from emp where name in (select name from emp group by name having count(*)>1)2、稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有:select * from emp...

SQL Server中怎样可以从SELECT语句的结果集中删除重复行
在要删除的有重复数据中存在几种情况:1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉。example: select distinct * from table(表名) where (条件)2.存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性...

sql中删除重复数据
1.如果有ID字段,就是具有唯一性的字段 delect table where id not in (select max(id) from table group by col1,col2,col3...)group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。2. 如果是...

相似回答