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を使用してselectを挿入する他の方法はありますか(最初の行のみが必要です-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 に答える