您的位置:首页 > 数据库

Sql查重、删除多余重复记录

2017-04-17 00:00 197 查看

此种情况设置字段唯一性即可避免;

-- 查询Permission表中重复插入的数据,Permission.code不唯一
SELECT
p.code,
COUNT(p.code)
FROM
permission p
GROUP BY p.code
HAVING COUNT(p.`code`) > 1 ;


-- 根据permission.code分组,找出每个的最大或最下id,删除不在此id列表里的所有重复数据
-- 保留id最大(小)的行,(删除其他行):
DELETE FROM
permission
WHERE id NOT IN
(SELECT * FROM
(SELECT MAX(id) AS max_id  FROM permission p GROUP BY p.CODE) AS b
) ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql
相关文章推荐