我需要调用INSERT + SELECT将用户数据导入到不同的表中,我需要过滤user_name重复,所以我需要这样的东西:
INSERT INTO new_table SELECT email, distinct user_name, password from old_table
但仅在使用distinct email, user_name, password
时才有效,并且所有这些列都必须是唯一的。
有没有其他方法可以使用uniq user_names插入select,(我只需要第一行 - ID较低)?
编辑我忘记提到我使用的是mysql
答案 0 :(得分:2)
如果没有测试,我会期望这样的事情(假设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