Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wyszukiwanie duplikatów
AddoN
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Witam, jest jakiś prosty sposób na wychwycenie duplikowanych wierszy tabeli za pomocą PHPMyAdmina?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


przy założeniu że masz podobnie skonfigurowanego:
- wchodzisz na tabelę
- dajesz 'struktura'
- zaznaczasz wszystkie wiersze (kolumny)
- dajesz 'Jednoznaczny'
- jeśli są zduplikowane wiersze to mysql zwróci błąd - #1062 - Duplicate entry 'pierwszakolumna-drugakolumna' for key 1
- w przeciwnym wypadku doda indeks jednoznaczny na wszystkich kolumnach i już nigdy wiersze ci się nie zduplikują (IMG:style_emoticons/default/smile.gif)

Ten post edytował timon27 1.05.2013, 11:02:40
Go to the top of the page
+Quote Post
AddoN
post
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Cytat(timon27 @ 1.05.2013, 11:55:31 ) *
Wyszukiwanie towarów o takich samych eanach, wyświetla wszystkie pozycje:

  1. SELECT indeks,nazwa,a.ean,stan FROM
  2. (SELECT ean,COUNT(*) AS c
  3. FROM towary WHERE ean>9
  4. GROUP BY ean
  5. HAVING c>1) AS a
  6. LEFT JOIN
  7. (SELECT indeks,nazwa,ean,stan
  8. FROM towary) AS b
  9. ON a.ean=b.ean


  1. SELECT Nazwisko,a.ean FROM
  2. (SELECT ean,COUNT(*) AS c
  3. FROM serwis__smod_users WHERE ean>9
  4. GROUP BY ean
  5. HAVING c>1) AS a
  6. LEFT JOIN
  7. (SELECT Nazwisko,ean
  8. FROM serwis__smod_users) AS b
  9. ON a.ean=b.ean


Spróbowałem zrobić to tym zapytaniem, ale wywaliło jakieś błędy.
Mam jedną tabelę z kolumną Nazwisko i kolumną Imię. Chciałem wyświetlić duplikaty dla wierszy gdzie Nazwisko jest takie samo.

Cytat(timon27 @ 1.05.2013, 11:55:31 ) *
przy założeniu że masz podobnie skonfigurowanego:
- wchodzisz na tabelę
- dajesz 'struktura'
- zaznaczasz wszystkie wiersze (kolumny)
- dajesz 'Jednoznaczny'
- jeśli są zduplikowane wiersze to mysql zwróci błąd - #1062 - Duplicate entry 'pierwszakolumna-drugakolumna' for key 1
- w przeciwnym wypadku doda indeks jednoznaczny na wszystkich kolumnach i już nigdy wiersze ci się nie zduplikują (IMG:style_emoticons/default/smile.gif)


No tutaj problem że tych wierszy jest blisko 1000 i mają prawo się duplikować. Chciałem wychwycić same duplikaty żeby je zweryfikować (niekoniecznie usuwać).

___


Coś takiego chyba nie będzie działać?

  1. SELECT * FROM `serwis__smod_users` WHERE Nazwisko=Nazwisko


Użyłem jeszcze tego

  1. SELECT Nazwisko, Count(Nazwisko) FROM serwis__smod_users GROUP BY Nazwisko ORDER BY Count(Nazwisko) DESC


Jeżeli rozumiem, to dostałem tabelę z nazwiskami i ich ilościami w bazie.

Ale chciałbym żeby przy tym były jeszcze te standardowe opcje - edytuj, uuń itp

Ten post edytował AddoN 1.05.2013, 11:18:26
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 19:03