1

可能重复:
MySQL Duplicate rows
如何从 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

任何人都可以帮忙吗?

4

2 回答 2

2

只需使用GROUP BY示例):

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);
于 2012-06-25T20:53:00.777 回答
0

也许您需要在两列上创建一个复合键。创建一个新的临时表让我们说'tbl_temp'然后使用复制所有行INSERT iGNORE ...

于 2012-06-25T20:51:46.433 回答