2016-06-18 3 views
0

私はデータベースに少し問題があり、xlsからregisrtosを読み込み、重複するレコードを生成する同じxlsを2つ以上読み込むことができます。いくつかの列に...私は、これは1を登録するので、私はそれらを作ることができないすべての列で5 に等しいですが、他はEquipoAまたはEquipoBまたはホラが異なる... 例である彼らに重複する行を削除するmysqlが一意でない

id| Fecha | EquipoA | EquipoB | Categoria | Cancha | Hora | Nr_J1 | Nombre_J1 | Apellido_J1 | Nr_J2 | Nombre_J2 | Apellido_J2 
1 |Sáb 09 Abr | San Juan | Edu  | sub18  | San Juan | 15:00 | 39 | A.  | Aunchayna | 95 | S.  | Villizio 
2 |Sáb 09 Abr | San Juan | Impulso | sub16  | San Juan | 16:30 | 39 | A.  | Aunchayna | 95 | S.  | Villizio 
3 |Sáb 09 Abr | San Juan A| ISASA | sub16  | San Juan | 18:00 | 39 | A.  | Aunchayna | 95 | S.  | Villizio 
4 |Sáb 09 Abr | San Juan | ISASA | sub14  | San Juan | 19:30 | 39 | A.  | Aunchayna | 95 | S.  | Villizio 
5 |Sáb 09 Abr | San Juan | Edu  | sub18  | San Juan | 15:00 | 39 | A.  | Aunchayna | 95 | S.  | Villizio 

をmeuestro一意になる

ログをクリアする必要がある場合はこの場合5を繰り返し、1を残す 私は、MySQLには専門家だと私はそれはあなたが必要とするすべてのように思える右クエリ

答えて

0

これは、正確な重複を削除します(id列のを除きます) :

delete t1 
from Table1 t1 
join Table1 t2 using (
    `Fecha`, 
    `EquipoA`, 
    `EquipoB`, 
    `Categoria`, 
    `Cancha`, 
    `Hora`, 
    `Nr_J1`, 
    `Nombre_J1`, 
    `Apellido_J1`, 
    `Nr_J2`, 
    `Nombre_J2`, 
    `Apellido_J2` 
) 
where t1.id > t2.id 

Demo

+0

感謝を排除するために、あなたのテーブルの両方の表の別名です。私はあなたのテーブルの名前を「テーブル1」と呼んでいません。正しいテーブル名に置き換える必要があります。 –

+0

't1'と' t2'を説明する方法をデモへ –

+0

はい、入力エラーでした。ありがとう –

0

を見つけることは非常に困難でしたが、SELECT DISTINCTです:

SELECT DISTINCT <all columns except id separated by comma> FROM <table name> 
+0

私はまた、複製見つける?ではなく、非常によく –

0

その全て取り外しが簡単重複あなたはでユニークなインデックスを追加することができ、このような異なっていなければならないすべてのフィールドにを無視:

ALTER IGNORE TABLE yourTable 
ADD UNIQUE KEY idx_dup 
(Fecha, EquipoA, EquipoB, Categoria, Cancha, Hora, 
Nr_J1, Nombre_J1, Apellido_J1, Nr_J2, Nombre_J2, Apellido_J); 

は、まず、あなたのテーブルを保存します。

サンプル

MariaDB [your_schema]> select * from orders; 
+----------+------------+-------------+-----------+---------+ 
| order_id | order_date | order_total | client_id | ship_id | 
+----------+------------+-------------+-----------+---------+ 
|  1 | 2016-03-12 |  10.00 |   1 |  1 | 
|  2 | 2016-03-14 |  20.00 |   1 |  2 | 
|  3 | 2016-04-13 |  30.00 |   1 |  2 | 
|  9 | 2016-05-20 |  10.00 |   2 |  1 | 
|  10 | 2016-06-03 |  20.00 |   2 |  2 | 
|  11 | 2016-03-12 |  10.00 |   1 |  1 | 
+----------+------------+-------------+-----------+---------+ 
6 rows in set (0.00 sec) 

MariaDB [your_schema]> ALTER IGNORE TABLE orders ADD UNIQUE KEY dup (order_date,order_total,client_id,ship_id); 
Query OK, 6 rows affected (0.29 sec) 
Records: 6 Duplicates: 1 Warnings: 0 

MariaDB [your_schema]> select * from orders; 
+----------+------------+-------------+-----------+---------+ 
| order_id | order_date | order_total | client_id | ship_id | 
+----------+------------+-------------+-----------+---------+ 
|  1 | 2016-03-12 |  10.00 |   1 |  1 | 
|  2 | 2016-03-14 |  20.00 |   1 |  2 | 
|  3 | 2016-04-13 |  30.00 |   1 |  2 | 
|  9 | 2016-05-20 |  10.00 |   2 |  1 | 
|  10 | 2016-06-03 |  20.00 |   2 |  2 | 
+----------+------------+-------------+-----------+---------+ 
5 rows in set (0.00 sec) 

MariaDB [your_schema]> 
関連する問題