2015-02-11 34 views
1

我的建筑:不重复的值在一列中选择

INSERT INTO ... (SELECT ... FROM .. JOIN ... ON ... WHERE ... ORDER BY ...) 

简短说明:我使用的是选择从2个表插入数据(使用JOIN)到另一个表。选择的结果是一样的东西(订货后):我想插入我的表第一匹配的行

col_a | col_b | col_c |  col_d 

1111  44   xxx   yyy 
1111  66   xxx   yyy 
2222  12   aaa   bbb 
3333  55   ccc   ddd 
3333  68   xxx   yyy 

如果该行被复制(col_c)。结果

例子应该是这样的:

col_a | col_b | col_c |  col_d 

1111  44   xxx   yyy 
2222  12   aaa   bbb 
3333  55   ccc   ddd 
+1

请新增您已经有查询....在其列,你想订购?你只想检查col_c中的重复? – arnoudhgz 2015-02-11 19:30:26

+0

使用INSERT ..上的重复解释一样[这里](http://stackoverflow.com/questions/13041023/insert-on-duplicate-key-update-nothing-using-mysql/13041065#13041065) – 2015-02-11 19:32:01

回答

2

使用GROUP BY功能

(SELECT ... FROM .. JOIN ... ON ... WHERE ... ORDER BY ... GROUP BY [col_c]) 
+0

GROUP BY是执行在ORDER BY之前..我想先订购我的结果,然后消除重复 – Krzysiek 2015-02-11 19:37:08

0

我想我找到了解决办法。我为表中的列创建了​​。之后INSERT IGNORE是everyhing我需要什么:)