mysql - MySQL 将不同的值从表复制到。桌子
问题描述
我的一个表包含我想复制到其他表的数据(数字),但问题是数据不是唯一的,可以有 2 行或更多行包含我想复制的相同数据(我只需要复制每个数字一次)。表大约有 300 万条记录。有什么有效的方法可以做到这一点吗?
解决方案
假设您的表中有两列 a、b
INSERT INTO new_table (a, b) SELECT
a, b FROM old_table GROUP BY
a, b HAVING COUNT(*) > 1;
你可以用更多的列来扩展它。这将是一个缓慢的过程,并且可能永远无法完成大量数据。
因此,改为使用将所有值复制到 new_table
Insert into new_table select * from old_table;
然后从新表中删除重复记录。这可以相对更快并且有保证的完成。
推荐阅读
- javascript - 我可以使用 html 和 Javascript 为表动态创建下拉行吗
- path - JAVA LIBRrary 路径中没有 ssjavacom.dll
- google-cloud-platform - 如何设置 Cloud Composer 以发送电子邮件?
- python - 关闭控制台但让 selenium 浏览器保持打开状态
- containers - lxc 容器未启动
- unix - 获取与列的值数组匹配的行 - AWK
- java - 使用 ITextRenderer 在 pdf 中禁用编辑
- python - 为什么等间距值的 norm.pdf 给出正态分布?
- ddev - 如何从 ddev 导出数据库?
- asp.net-mvc - DateTime 在 Azure 服务器上重置回 01/01/0001