如何从mysql表中选择唯一记录

时间:2013-11-25 16:34:46

标签: mysql sql

我有两张桌子

table1

id|col1|col2|col3 

table2 

id|colA|colB|colC

两个表都是主键

table1中的

col1是唯一的,不允许重复值。我正在尝试将数据从table2迁移到table1。列以下列方式映射

table1.id => table2.id
table1.col1 => table2.colA
table1.col2 => table2.colB
table1.col3 => table2.colC

我使用以下查询来迁移数据

inert into table1 select id,colA,colB,colC from table2

Mysql抱怨colA有重复值。然后我用

insert into table1 select id,distinct(colA),colB,colC from table2 

Mysql抱怨语法错误。你能帮我写一下正确的查询来将数据从table2迁移到table1吗?

由于

1 个答案:

答案 0 :(得分:-1)

实际上,您可以丢失一些数据,同时以这种方式保存。因为如果colB和colC对于相同的colA是不同的,则只保存其中一行。

您可以使用此查询:

INSERT INTO table1 
    SELECT id,colA,colB,colC 
    FROM table2
    GROUP BY colA;