sql server 查询重复数据(id不重复)

id自增的。其他字段RID,A_Time,A_Hour的数据会有重复怎么查出这三个字段里重复的数据并且删掉??保存一条id最小的记录... id自增的。其他字段 RID,A_Time,A_Hour 的数据会有重复

怎么查出这三个字段里重复的数据并且删掉??
保存一条id最小的记录
展开
 我来答
MU黄昏
推荐于2016-04-22 · 贡献了超过112个回答
知道答主
回答量:112
采纳率:0%
帮助的人:32.1万
展开全部
可以先用distinct去重复,然后在把别的删了。
比如:delete from a where id not in(select distinct * from a)
追问
id自增的、、直接* 不行的
追答
select distinct * from a这个是查不重复的那些数据,然后id不在那里的数据不就是重复的了吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩转数据处理
2014-09-12 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
备份到新表就好了
select distinct RID,A_Time,A_Hour into newTable from yourTable
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜玄冬
推荐于2018-05-11 · 超过71用户采纳过TA的回答
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:141万
展开全部
使用子查询where后面使用group by ... having count(字段 )>1 判断该字段重复了.把这个加到删除语句的where里面. 字段 in(...)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
2014-09-12 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:985万
展开全部
是相同的全部删掉,还是相同的只保留一个?
更多追问追答
追问
保留id最小的一条记录
追答
如果你的表里还有不重复的数据,那思路应该是这样的

1、取出所有数据不重复的id,利用goup by三个字段,加个count = 1就可以知道那些只有出现一次的数据

2、取出所有数据重复的,并且id是最小的那些id,利用group by 三个字段,having count(1) > 1再得select min(id)

将1 + 2 (union all)

然后delete xxx where id not exists (1+2)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式