1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都楼梯护栏小微创业公司专业提供成都定制网页设计营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。
select * from peoplewhere 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 awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having
扩展资料
FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。
在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。
例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:
SELECTusername,citytable.cityid
FROMusertable,citytable
WHEREusertable.cityid=citytable.cityid
在FROM子句中可用以下两种格式为表或视图指定别名:
表名 as 别名
表名 别名
参考资料:百度百科 SELECT语句
可以的。除了book_no,还有5个字段:
book_name,book_price,book_author,book_pub,book_status
方法就是:
select book_name,book_price,book_author,book_pub,book_status
from 表名称
group by book_name,book_price,book_author,book_pub,book_status
having count(*) 1;
这样就能查出除了主键,其他字段都相同重复的数据了
select distinct biao.id
from biao
left outer join (select col1, col2
from biao
group by col1, col2
having count(*) 1) tmp
on biao.col1 = tmp.col1
and biao.col2 = tmp.col2
-- SQL语句如下:
INSERT INTO B(字段1,字段2,字段3) SELECT 字段1,字段2,字段3 FROM A;
/*
需要注意的是:
1、字段必须相同。
2、B表的主键字段必须是自增。
缺点:
目前有重复数据也会插入到B表,如另有需求,请自行查询。
*/
问题原因:
数据表中设置了主键(testers),而主键对应的值是不允许重复的。
错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate)。所以插入失败。
注意:检查表中属性的字段,在添加记录时是否添加了重复值。
解决方案:
把testers设置非主键,`testers` varchar(10) DEFAULT NULL COMMENT '测试人员',
select a.id,name,sex,address,tel,info,uk,ip,time from a left join b on a.id=b.id
left join c on a.id=c.id