peter: mysql mehrfache Einträge

Hai,

im Laufe der Zeit haben sich in meiner Kundendatenbank Kunden mehrfach angesammelt. Nun sollte die Tabelle bereinigt werden, anhand der E-mail.

select * from kunden group by mail having count(*) > 1

liefert mir zwar alle mehrfachen.

Ich bräuchte aber eine Liste bei der alle mehrfachen so gelistet sind, dass nicht nur der 2. oder 3. Eintrag gelistet wird, sondern sowohl der 1. + alle mehrfachen um manuell entscheiden zu können, welcher Eintrag bleiben soll.

Wie kriege ich das hin?

Gruß

  1. Hello,

    Wie kriege ich das hin?

    Wie wäre es mit einem Self-Join, bei dem Du nur prüfst, ob es einen anderen Datensatz gibt, bei dem die email gleich ist, aber die id abweicht? Ich gehe davon aus, dass Du eine vergeben hast.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://restaurant-zur-kleinen-kapelle.de
    1. Wie wäre es mit einem Self-Join,

      Äääh, gibts das auch auf deutsch? So dass ein nichtGanzSoTiefDrinnSteckender wie ich das auch versteht?

      Ich gehe davon aus, dass Du eine vergeben hast.

      Klar

      1. Hello,

        Wie wäre es mit einem Self-Join,
        Äääh, gibts das auch auf deutsch? So dass ein nichtGanzSoTiefDrinnSteckender wie ich das auch versteht?

        http://lmgtfy.com/?q=MySQL+Selfjoin

        Ich gehe davon aus, dass Du eine vergeben hast.

        Klar

        Liebe Grüße aus Bad Driburg

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://restaurant-zur-kleinen-kapelle.de
  2. Tach!

    Nun sollte die Tabelle bereinigt werden, anhand der E-mail.
    select * from kunden group by mail having count(*) > 1
    liefert mir zwar alle mehrfachen.

    Was du von der Abfrage brauchst ist aber nur die Email-Adresse und nicht *.

    Ich bräuchte aber eine Liste bei der alle mehrfachen so gelistet sind, [...]

    Die Email-Adresse kannst du nun als Selektionskriterium nehmen: SELECT daten FROM kunden WHERE mail IN (obige Abfrage) ORDER BY mail

    dedlfix.

    1. Die Email-Adresse kannst du nun als Selektionskriterium nehmen: SELECT daten FROM kunden WHERE mail IN (obige Abfrage) ORDER BY mail

      Prima,
      werds probieren.

  3. Hi,

    im Laufe der Zeit haben sich in meiner Kundendatenbank Kunden mehrfach angesammelt. Nun sollte die Tabelle bereinigt werden, anhand der E-mail.

    Wir hatten das auch mal bei einem Geschäftspartner, der den Fehler gemacht hatte, die E-Mail-Adresse als unique zu betrachten - mehrere Kunden mit derselben E-Mail-Adresse hat er nicht zugelassen.
    Inzwischen hat dieser Geschäftspartner seinen Fehler eingesehen und erlaubt mehrere Kunden mit derselben E-Mail-Adresse.

    Es gibt viele Fälle, in denen z.B. Ehepaare oder ganze Familien eine gemeinsame E-Mail-Adresse haben, aber trotzdem als getrennte Kunden bei derselben Firma sein wollen (im konkreten Fall: beide Ehepartner wollten Ihr jeweiliges Auto bei derselben Versicherung versichern).

    Nur so als Warnung ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.