2

我需要调用 INSERT + SELECT 将用户数据导入到不同的表中,并且我需要过滤 user_name 重复项,所以我需要这样的东西:

INSERT INTO new_table SELECT email, distinct user_name, password from old_table

但是 distinct 仅在使用时才有效,distinct email, user_name, password并且所有这些列都必须是唯一的。

有没有其他方法可以使用 uniq user_names 插入选择,(我只需要第一行 - 具有较低的 id)?

编辑我忘了提到我使用mysql

4

1 回答 1

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
于 2012-07-25T11:27:22.510 回答