MySQL 存储过程 删除重复数据 采用limit
2014-12-17 11:07
357 查看
CREATE PROCEDURE updateBdAreaData()
BEGIN
declare stopFlag int;
DECLARE dataid varchar(100);
declare repeatCount int;
declare i int; -- 循环变量
-- 申明游标
declare dataCursor cursor for
select fid,count(1) from t_bd_newarea group by fid having count(1) > 1;
-- 申明跳出循环
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN dataCursor;
REPEAT
FETCH dataCursor INTO dataid,repeatCount;
BEGIN
set i =repeatCount-1;
if i = 2 THEN
delete from t_bd_newarea where fid = dataid limit 2;
end if;
END;
UNTIL stopFlag = 1
END REPEAT;
CLOSE dataCursor;
END;
call updateBdAreaData(); -- 调用存储过程
COMMIT; --提交
BEGIN
declare stopFlag int;
DECLARE dataid varchar(100);
declare repeatCount int;
declare i int; -- 循环变量
-- 申明游标
declare dataCursor cursor for
select fid,count(1) from t_bd_newarea group by fid having count(1) > 1;
-- 申明跳出循环
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN dataCursor;
REPEAT
FETCH dataCursor INTO dataid,repeatCount;
BEGIN
set i =repeatCount-1;
if i = 2 THEN
delete from t_bd_newarea where fid = dataid limit 2;
end if;
END;
UNTIL stopFlag = 1
END REPEAT;
CLOSE dataCursor;
END;
call updateBdAreaData(); -- 调用存储过程
COMMIT; --提交
相关文章推荐
- mysql 中删除重复数据
- mysql删除数据库的重复数据
- Mysql大数据表删除重复数据
- MYSQL删除重复数据的简单方法
- mysql删除重复数据
- mysql中 删除重复数据
- mysql之删除重复数据
- mysql 删除重复数据(多个字段重复)
- mysql 删除表中重复数据留一条
- 删除mysql 重复数据
- 在Mysql和Oracle中如何删除字段中的重复数据
- mysql中删除完全重复数据的准确SQL语句
- mysql 删除表中重复数据的一种方法
- 删除Mysql数据表中多余的重复记录的sql语句
- mysql删除某个字段重复的数据
- MYSQL 删除重复数据。。
- MySQL删除重复数据
- mysql之删除重复数据
- 删除mysql中的重复数据
- mysql学习总结一当数据不存在的时候插入,存在的时候进行更新,删除重复数据