MSsql删除重复记录,字段A重复了,但是字段B中:一条记录有数据,另一

条没数据。想保留有字段B的记录,删除没有的,在线等,谢谢... 条没数据。 想保留有字段B的记录,删除没有的,在线等,谢谢 展开
 我来答
上小二麻麻
2016-05-13 · 知道合伙人软件行家
上小二麻麻
知道合伙人软件行家
采纳数:3264 获赞数:11826

向TA提问 私信TA
展开全部
oracle中在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较"高效"的,如下语句:
SELECT data_guid
FROM adam_entity_datas a
WHERE a.rowid > (SELECT MIN(b.rowid)
FROM adam_entity_datas b
WHERE b.data_guid = a.data_guid)
如果表中有大量数据,但是"重复数据比较少",那么可以用下面的语句提高效率
SELECT data_guid
FROM adam_entity_datas
WHERE data_guid IN (SELECT data_guid
FROM adam_entity_datas
GROUP BY data_guid
HAVING COUNT(*) > 1)
此方法查询出所有重复记录了,也就是说,只要是重复的就选出来,下面的语句也许"更高效"
SELECT data_guid
FROM adam_entity_datas
WHERE ROWID IN (SELECT rid
FROM (SELECT ROWID rid,
row_number() over(PARTITION BY data_guid ORDER BY ROWID) m
FROM adam_entity_datas)
WHERE m <> 1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式