I have a table that contains some duplicate redords. I want to make records unique. I created a new table (say, destination) and I specified a unique column in it. How can copy records from table1 (source) such that, if the record inserted in the destination table, it does not insert it again.
Share
You can use the “select into” construct and select insert only distinct rows, like this:
If you have autoincrement or other columns that makes the rows distinct, you can just leave them out of the insert and select parts of the statement.
Edit:
If you want to detect duplicates by a single column, you can use group by:
MySQL will allow you to refer non-aggregated columns in select, but remember that the documentation says “The server is free to choose any value from each group”, if you want to select one specific row of the groups, you might find this example useful.