Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaznaczanie prawie duplikatów
Forum PHP.pl > Forum > Bazy danych > MySQL
bartez1000
Siama, mam taki mały problem:
Posiadam taką duża tabelkę

ID | videoid | time | typ1 | typ2 | driver1 | driver2 | wyjazdsc |..... i tak dalej
1 |2342Da | 231 | 4 | 3 | Jan | adam | tak |
2 |2123Aa | 31 | 5 | 3 | Jan | marek | tak |
3 |2342Da | 231 | 4 | 3 | Jan | adam | tak |
.....
Niektóre z rekordów są identyczne, oprócz wartości ID, która jest unikalna dla każdego. Czy mógłbym jakoś zaznaczyć te "prawie duplikaty", czyli tu 1 i 3?
pmir13
Zaznaczyć w celu usunięcia duplikatów? Czy tak informacyjnie po prostu?
Informacyjnie można grupować po wszystkich kolumnach prócz id wyświetlając GROUP_CONCAT(id) a na końcu HAVING count(*) > 1, ale jeśli to faktycznie duża tabelka a trzeba z niej pousuwać duplikaty to lepiej na przykład tak:

  1. CREATE TABLE tabelczyna LIKE tabelka;
  2. ALTER TABLE tabelczyna ADD UNIQUE( videoid, time, typ1, typ2, i tak dalej );
  3. INSERT IGNORE INTO tabelczyna SELECT * FROM tabelka;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.