mysql 存储过程 删除重复

DELIMITER $$

CREATE PROCEDURE `delRepeatCA`()

BEGIN

DECLARE tally INT DEFAULT 0;

SELECT COUNT(rs.c_CA) INTO tally FROM          --------赋值
(SELECT COUNT(c_CA) AS c_CA FROM t_CA
GROUP BY c_CA HAVING COUNT(1) > 1) rs

WHILE tally>0 DO      --------循环

IF(tally>0)THEN
                ------------删除重复
DELETE t_CAAS a FROM t_CAAS a, (
SELECT MIN(c_id)AS c_id FROM t_CA GROUP BY c_CA HAVING COUNT(1) > 1)AS b
WHERE a.c_id = b.c_id;

SELECT COUNT(rs.c_CA) INTO tally FROM
(SELECT COUNT(c_CA) AS c_CA FROM t_CA
GROUP BY c_CA HAVING COUNT(1) > 1) rs


END IF;

END WHILE;

END$$

DELIMITER ;

原文地址:https://www.cnblogs.com/xiexy/p/3884259.html