可能重复:
MySQL Duplicate rows
how to delete duplicate rows from a table in mysql
我的数据看起来像是:
22205 | 2179 | 85
8306 | 2179 | 178
11164 | 2179 | 178
23873 | 2179 | 178
8308 | 2179 | 314
22203 | 2179 | 314
22201 | 2178 | 85
我正在尝试找出一个可以删除第三列副本的查询。因为我们应该只有一个178和一个314.但请记住,只要第二列不重复,它就可以复制,因此最终结果应如下所示:
22205 | 2179 | 85
8306 | 2179 | 178
22203 | 2179 | 314
22201 | 2178 | 85
有人可以帮忙吗?
答案 0 :(得分:2)
只需使用GROUP BY
(example):
SELECT *
FROM `Table1`
GROUP BY `b`, `c`
假设:
CREATE TABLE Table1
(`a` int, `b` int, `c` int);
INSERT INTO Table1
(`a`, `b`, `c`)
VALUES
(22205, 2179, 85),
(8306, 2179, 178),
(11164, 2179, 178),
(23873, 2179, 178),
(8308, 2179, 314),
(22203, 2179, 314),
(22201, 2178, 85);
答案 1 :(得分:0)
也许您需要在两列上创建复合键。创建一个新的临时表,让我们说'tbl_temp',然后使用INSERT iGNORE ...