select s.* from ( select *, row_number() over (partition by PersonnelAccount order BY PersonnelID) as group_idx from AUX_SpecialPersonnel ) swhere s.group_idx > 1sql 更新重复数据只取一条记录标签:本文系统来源:http://www.cnblogs.com/renzaijianghu/p/5950475.html
1,采用存储过程添加测试数据
CREATE PROCEDURE NewProcedure()BEGINDECLARE i INT;SET i=1;WHILE i<50000 DO INSERT INTO user_new (id,name,phone,sex) VALUES (i,i,i,i); SET i = i + 1;END WHILE;END;
两次插入,修改后一次存储过程的id取值,于是得到了name,phone,sex重复的5W条数据(时间有限,未操作更大数量)
2,数据去重
常见方式:
一、
update user_new set data_status=0 where id not in
(select max(id) ...
sql代码如下:
统计重复的数据
select MingCheng from tabShouFeiGongShi group by MingCheng having count(MingCheng) >= 2
select * from (select *from tabShouFeiGongShiwhere MingCheng in (select MingCheng from tabShouFeiGongShi group by MingCheng having count(MingCheng) >= 2)) t order by MingCheng
sql统计重复数据标签:本文系统来源:http://www.cnblogs.com/double405/p/4629781.html
查找所有重复标题的记录:
SELECT * FROM t_info a WHERE ((SELECT COUNT() FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一、查找重复记录 1、查找全部重复记录 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count()>1) 2、过滤重复记录(只显示一条) Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title) 注:此处显示ID最大一条记录 二、删除重...
第一,数据库中实体重复的解决方法。
实体重复也就是完全重复:即表中两行记录完全一样的情况。这类数据重复就需要删除一条记录,解决方法比较简单,具体操作如下:
使用select distinct * from tableName就可以得到无重复记录的结果集。如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除select distinct * into #Tmp from tableNamedrop table tableNameselect * into tableName from #Tmpdrop table #Tmp发...
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 peopleName in (select peopleName from people group by peopleName having count(peopleName...
-- 建表DROP TABLE IF EXISTS `table1`;CREATE TABLE `table1` ( `id` int(11) NULL DEFAULT NULL, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;INSERT INTO `table1` VALUES (2, ‘B‘);INSERT INTO `table1` VALUES (3, ‘C‘);INSERT INTO `table1` VALUES (4, ‘D‘);INSERT IN...
insert into B(字段列表) select 字段列表 from A where not exists(select * from B where a.keycol1 = b.keycol1)
keycol1为A表和B 表中的字段,可能带有主键,可以此字段来判断A表和B表中是否存在相同的数据,where not exists是作为一个条件来判别从A表往B表中插入的数据不与B表已存在的数据重复