You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除数据库中内容重复但uid不同的行并保留uid最小记录

处理非完全重复的数据库去重(保留uid最小记录)

问题场景

数据库表结构为 (id,name,review,uid),爬取的评论数据中存在评论内容完全一致(id、name、review字段相同)但uid不同的重复行,需要保留每组重复数据里uid更小的那一行。

示例重复数据:

123,Dan,"very good",1000
123,Dan,"very good",2000

此前仅掌握去除完全重复行的方法,无法处理这类非完全重复的场景。

解决方案

通过@Atom提供的分组聚合SQL语句可直接获取去重后的目标数据,核心逻辑是按重复字段分组,提取每组中最小的uid:

SELECT id,name,review, MIN(uid) 
FROM your_table_name 
GROUP BY id,name,review;

如果需要直接在原表中删除重复数据(仅保留uid最小的记录),可以结合子查询实现(以MySQL为例):

DELETE t1 
FROM your_table_name t1
JOIN your_table_name t2 
ON t1.id = t2.id AND t1.name = t2.name AND t1.review = t2.review
WHERE t1.uid > t2.uid;

内容的提问来源于stack exchange,提问作者james2471993

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:50:31