我需要将字段中具有重复值的所有记录导出到不同的表。即,必须复制code
出现多次的所有记录。
这是我试过的查询:
INSERT INTO alternatives
SELECT * FROM winter WHERE code IN
(SELECT code
FROM winter
GROUP BY code
HAVING COUNT(*) > 1)
但没有任何反应,mysql客户端无限期挂起,直到我停止它,并且alternatives
表中没有任何记录。我做错了什么?
或者,有没有更好的方法来做我需要的?
答案 0 :(得分:1)
实际上,您的查询应该有效。我不知道,但您可以尝试INNER JOIN
而不是IN
条款。类似的东西:
-- INSERT INTO alternatives
SELECT * FROM winter
INNER JOIN
(SELECT code
FROM winter
GROUP BY code
HAVING COUNT(code) > 1) DUP ON winter.code = DUP.code
首先,不使用INSERT
语句进行尝试。如果有效,你知道该怎么做。