![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, mam bazę MySQL gdzie jest ~2k użytkowników i chciałbym teraz sprawdzić czy któreś się powtarzają np.:
ID|Email|name|hash 1|ddd@o2.pl|ddd|dddd 2|ddd@o2.pl|cos|cos2 3|ddd2@o2.pl|cos|cos2 4|ddd@o2.pl|cos|cos2 ..... 400|cos2@gmail.pl|222|553 753|cos2@gmail.pl|111|333 I teraz widzimy, że ID o numerze 1, 2, 4 oraz 400 i 753 się powtórzyły (takie sam email) jak teraz wykonać aby przeskanować wszystkie wyniki z mysql i te które się powtórzyły usunąć, te powtórzenia nie muszą być tak blisko siebie, mogą być o ID=1 a drugi o ID=224.. Na ogół stworzenie pętli oraz usuwanie wyników z mysql potrafię, ale nie wiem jak zrobić to z tym czy jakieś wyniki się powtórzyły.. Pozdrawiam i z góry bardzo dziękuje. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Trochę bez sensu, że e-mail nie jest unikalny. Zapytanie:
wybierze Ci adresy e-mail, które się powtarzają oraz wszystkie identyfikatory dla tych adresów oddzielone przecinkiem. Pozostaje jedynie pytanie, które wiersze z tych wybranych mają być usunięte. EDIT: Mała zmiana. Ten post edytował mortus 19.01.2013, 11:18:43 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 2 Dołączył: 19.04.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tego wrzucając poprzez zapytanie SQL w phpMyAdminie - oczywiście zrób kopię bazy w razie czego, aczkolwiek wpis działa na 100%
będzie sprawdzał zduplikowane rekordy Email i zostawi ten który jest o najmniejszym ID, oczywiście jeśli chcesz po czymś innym sprawdzać to też nie ma problemu.
ewentualnie jeśli chcesz aby sprawdzał dwa warunki, czyli gdy będzie użytkownik o tym samym name i Email taki w obu rekordach to dodaj tylko jeszcze jeden AND na końcu
i dodaj sobie wartość unique na któryś z rekordów, nie będą się tworzyły takie same wpisy.. Ten post edytował adek- 19.01.2013, 11:31:09 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem coś takiego:
I pokazało mi ~400 rekordów, to są te rekordy które się powtarzają tak ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Nie, to są adresy e-mail, które się powtarzają. Identyfikatory rekordów zyskasz dodając do zapytania GROUP_CONCAT, jak wyżej pisałem.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, dobra poradziłem sobie.
![]() Dzięki bardzo. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:52 |