datenbank auf doppelte einträge überprüfen
datenbank auf doppelte einträge überprüfen
Ich habe zwei Emaildatenbanken fusioniert.
Dummerweise waren da auch Einträge wie "mailto:..." enthalten. Die habe ich nun entfernt.. also das "mailto:". Jetzt kann es aber sein, dass ich zwei mal die gleiche Emailadresse gespeichert habe.
Wie könnte ich das nun prüfen lassen und bei Bedarf entfernen?
Gruß
Dummerweise waren da auch Einträge wie "mailto:..." enthalten. Die habe ich nun entfernt.. also das "mailto:". Jetzt kann es aber sein, dass ich zwei mal die gleiche Emailadresse gespeichert habe.
Wie könnte ich das nun prüfen lassen und bei Bedarf entfernen?
Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
da gibts soweit ich weiß ne sql funktion zu. leider weiß ich nicht wie die heißt oder so.
aber notfalls könnte man es so machen, das du jeden einzelnen eintrag ausliest, ihn dann in ner whileschleife durchlaufen lässt und jedes mal ne anfrage machst über mysql_num_rows() wie oft der eintrag da ist und dann noch via if guckst ob es größer 1 ist und wenn ja löscht du alle einträge mit der email limit = insgesamt - 1.
ist aber eine sehr unsaubere lösung
aber was besseres weiß ich nicht. sry.
greetz
aber notfalls könnte man es so machen, das du jeden einzelnen eintrag ausliest, ihn dann in ner whileschleife durchlaufen lässt und jedes mal ne anfrage machst über mysql_num_rows() wie oft der eintrag da ist und dann noch via if guckst ob es größer 1 ist und wenn ja löscht du alle einträge mit der email limit = insgesamt - 1.
ist aber eine sehr unsaubere lösung

greetz
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.
ne es sind leider zu viele emailadressen.. das würde zu lange dauern.
distinct z.b. prüft auf doppelte und gibt keine doppelten aus.. aber ich bräuchte ja das gegenteil.
gruß
distinct z.b. prüft auf doppelte und gibt keine doppelten aus.. aber ich bräuchte ja das gegenteil.
gruß
Zuletzt geändert von mgutt am 11.05.2006 16:22, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Ich hab gerade mal ein bisschen getestet, aber irgendwie mag mich MySQL heute nicht (oder ich bin zu untalentiert
):
Das gibt dir zumindest mal die doppelten Adressen aus, wie du allerdings alle Einträge ausgeben lassen kannst, weiß ich im Moment leider nicht. 

Code: Alles auswählen
SELECT e1.* FROM emails e1, emails e2
WHERE e1.email = e2.email
GROUP BY e1.email
HAVING COUNT(e2.email) > 1

Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Das ist es glaube ich:
EDIT:
Das klappt, aber dummerweise kann ich im phpmyadmin in den Ergebnissen nichts auswählen. Die gewohnte Ansicht mit bearbeiten etc. kann ja nicht dargestellt werden, weil der einfach nur die Summen darstellt und das betreffende Ergebnis. Ich könnte natürlich alle einzeln rausschreiben, aber das ist auch wieder nicht so sinnvoll
Code: Alles auswählen
SELECT DISTINCT email, count(email) as anzahl FROM emails_table GROUP BY email HAVING count(email)>1
Das klappt, aber dummerweise kann ich im phpmyadmin in den Ergebnissen nichts auswählen. Die gewohnte Ansicht mit bearbeiten etc. kann ja nicht dargestellt werden, weil der einfach nur die Summen darstellt und das betreffende Ergebnis. Ich könnte natürlich alle einzeln rausschreiben, aber das ist auch wieder nicht so sinnvoll

Zuletzt geändert von mgutt am 11.05.2006 16:39, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
*edit* gemacht 

meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Eine Möglichkeit wäre
Code: Alles auswählen
INSERT INTO neuetabelle (email) SELECT DISTINCT email FROM altetabelle
KB:knigge