• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

剔除特定影响因素(字段列)下的重复记录(MySQL)_mysql

mysql 搞代码 7年前 (2018-06-08) 135次浏览 已收录 0个评论

删除特定影响因素(字段列)下的重复记录(mysql

;CREATE TABLE TabTest (     `id` INT(11) NOT NULL AUTO_INCREMENT          ,`factorA` VARCHAR(255) NOT NULL DEFAULT ' '     ,`factorB` VARCHAR(255) NOT NULL DEFAULT ' '     ,`factorC` DECIMAL(10,2) NOT NULL DEFAULT 0     ,`remark` VARCHAR(255) NOT NULL DEFAULT ' '     , PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='';  INSERT INTO TabTest(factorA, factorB, factorC, remark) SELECT 'A1', 'B1', 0.5, '1..' UNION ALL SELECT 'A1', 'B1', 0.5, '2..' UNION ALL SELECT 'A2', 'B2', 0.5, '3..' UNION ALL SELECT 'A2', 'B2', 1.5, '4..' UNION ALL SELECT 'A2', 'B2', 0.5, '5..'  ;SELECT * FROM TabTest;

剔除特定影响因素(字段列)下的重复记录(MySQL)_mysql

-- 方案一 ;DELETE FROM TabTest WHERE id NOT IN ( SELECT * FROM ( SELECT id FROM TabTest GROUP BY factorA, factorB, factorC ) b );
-- 方案二 DELETE FROM TabTest WHERE id IN  (     -- MySQL Error 1093 – Can't specify target table for update in FROM clause     SELECT b.id FROM      (         SELECT tOuter.`id` FROM TabTest tOuter          INNER JOIN          (             SELECT tInner.id, tInner.factorA, tInner.factorB, tInner.factorC             FROM TabTest tInner             GROUP BY tInner.factorA, tInner.factorB, tInner.factorC             HAVING COUNT(1) > 1         ) a         ON tOuter.`factorA` = a.`factorA`         AND tOuter.`factorB` = a.`factorB`         AND tOuter.`factorC` = a.`factorC`         WHERE tOuter.`id` <> a.`id`     )b )

剔除特定影响因素(字段列)下的重复记录(MySQL)_mysql

方案一: 数据量小时, 比较便捷

方案二: 数据量大时使用, 第一个方案在70万数据下试过, 5分钟出不来结果, 放弃, 使用第二种方案, 秒完.

欢迎大家阅读《剔除特定影响因素(字段列)下的重复记录(MySQL)_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:剔除特定影响因素(字段列)下的重复记录(MySQL)_mysql
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址