我需要调用 INSERT + SELECT 将用户数据导入到不同的表,并且我需要过滤 user_name 重复项,所以我需要这样的东西:
INSERT INTO new_table SELECT email, distinct user_name, password from old_table
但仅在使用不同的电子邮件、用户名、密码
时才有效,并且所有这些列都必须是唯一的。
是否有其他方法可以使用 uniq user_names 插入选择(我只需要第一行 - 具有较低的 id)?
编辑我忘了提及我使用mysql
最佳答案
如果没有测试,我会期望这样的东西可以达到目的(假设 id 列名为 id)
INSERT INTO new_table
SELECT email, user_name, password
FROM old_table
INNER JOIN
( SELECT MIN(id) FROM old_table GROUP by user_name ) minids
ON minids.id = old_table.id
关于mysql - 当一列唯一时插入 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648568/