如何在my-sql中删除行中的“无重复”记录

时间:2013-06-14 04:09:16

标签: mysql group-by duplicates having

例如,如果我有

+------------+-------------+
| something_1| something_2 |
+------------+-------------+
| 1          | a           |
| 2          | b           |
| 3          | a           |
| 4          | c           |
| 5          | b           |
| 6          | a           |
| 6          | d           |
| 6          | e           |
+------------+-------------+

我想要这个,删除无重复数据:

+-------------+
| something_2 |
+-------------+
| a           |
| b           |    
+-------------+

谢谢,我想在mysql中使用它,

2 个答案:

答案 0 :(得分:2)

这将只提供重复的字段:

SELECT something_2 FROM mytable
GROUP BY something_2
HAVING COUNT(*) > 1

答案 1 :(得分:1)

假设您有一张表的主键,请执行以下操作:

DELETE FROM my_table WHERE prim_key IN (SELECT prim_key FROM my_table
GROUP BY something_2
HAVING COUNT(*) > 1)