1

可能性のある重複:
MySQL 重複行
mysql のテーブルから重複行を削除する方法

次のようなデータがあります。

22205 | 2179 |  85 
 8306 | 2179 | 178
11164 | 2179 | 178
23873 | 2179 | 178
 8308 | 2179 | 314
22203 | 2179 | 314
22201 | 2178 |  85

3 番目の列の重複を削除できるクエリを見つけようとしています。178 と 314 を 1 つだけ持つ必要があります。ただし、2 番目の列が重複しない限り重複する可能性があることに注意してください。したがって、最終結果は次のようになります。

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 に答える