sql2008中数据重复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql2008中数据重复相关的知识,希望对你有一定的参考价值。
像学号从1到41,但后面又有一个从1到41的(这是导入的时候不小心错的)就是删除后面的41个,行数从42到82的语句怎么写
消除重复行语句:select distinct 列名 from 表名;#列名就用你的那个学号列名#别用delete那条语句会把所有满足条件的闪了的。
最安全的办法是复制一个表在执行语句,如果ok再去原表执行,如果不ok那就没必要了。 参考技术A 你主键是id吗?这个是你学号吗?不是的话就把id41以后的删了,求采纳本回答被提问者采纳 参考技术B delete from 表名 where 学号>41 && 学号<83追问
那不就把整个表都删了么?学号有两个1到41就相当于复制了
追答怎么会重复呢?必然有一个字段是唯一的。截个图看看你的数据
追问就是这个了,学号重复了我要删了,select只是在查询时不显示重复的,我要彻底删了重复的
SQL中删除重复的行(重复数据),只保留一行 转
方法一:使用在T-SQL的编程中
分配一个列号码,以COL1,COL2组合来分区排序,删除DATABASE重复的行(重复数据),只保留一行
// COL1,COL2是数据库DATABASE的栏位
delete a from (select COL1,COL2,row_number() over (partition by COL1,COL2 order by COL1) as rn from DATABASE) a where a.rn>1
方法二:使用在ETL中
select distant into,这种方法借助一个新的table,把不重复的结果集转移到新table中
SELECT distinct Col1, Col2 INTO NoDups
FROM Dup1;
select * from NoDups
以上是关于sql2008中数据重复的主要内容,如果未能解决你的问题,请参考以下文章
使用 SQL Server 2008 在 WHERE 子句中使用 SUBSTRING 函数 [重复]