一个表中有重复记录如何用SQL语句查询出来。。。?

 我来答
LOV555
高粉答主

2018-03-30 · 醉心答题,欢迎关注
知道大有可为答主
回答量:419
采纳率:100%
帮助的人:12.8万
展开全部

select * from tablename where 重复字段1 in (select 重复字段1 from tablename group by 重复字段1,重复字段2 having count(*)>1)。

SQL重复记录查询方法:

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断


select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count (peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录


delete from people 
where peopleId in (select   peopleId from people group by   peopleId   having count (peopleId) > 1)
and rowid not in (select min(rowid) from   people group by peopleId having count(peopleId )>1)

3、查找表中多余的重复记录(多个字段) 


select * from vitae a
where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having

匿名用户
2012-04-25
展开全部
不知道你什么数据库.
如果数据库支持 ROW_NUMBER() 函数的话, 倒是很省事的.

-- 首先创建测试表
CREATE TABLE test_delete(
name varchar(10),
value INT
);
go

-- 测试数据,其中 张三100 与 王五80 是完全一样的
INSERT INTO test_delete
SELECT '张三', 100
UNION ALL SELECT '张三', 100
UNION ALL SELECT '李四', 80
UNION ALL SELECT '王五', 80
UNION ALL SELECT '王五', 80
UNION ALL SELECT '赵六', 90
UNION ALL SELECT '赵六', 70
go

-- 首先查询一下, ROW_NUMBER 效果是否满足预期
SELECT
ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,
name,
value
FROM
test_delete

no name value
----- ---------- -----------
1 李四 80
1 王五 80
2 王五 80
1 张三 100
2 张三 100
1 赵六 70
1 赵六 90

从结果上可以看到,如果有重复的,完全一样的话, no 是有大于1的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tigermali
推荐于2018-02-27 · 超过16用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:33.7万
展开全部
select * from tablename where 重复字段1 in (select 重复字段1 from tablename group by 重复字段1,重复字段2 having count(*)>1)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun45666
2019-02-15 · TA获得超过635个赞
知道答主
回答量:70
采纳率:100%
帮助的人:9.9万
展开全部
select name,count(name)as num from people group by name having num>1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ce7c21
2012-04-24 · TA获得超过394个赞
知道小有建树答主
回答量:258
采纳率:100%
帮助的人:156万
展开全部
Select Row_Number() Over(Partition By 排序字段 Order By 不同的字段 Desc) As Num,
t.*
from table
where Num = 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式