michael: Ähnliche Datensätze finden

Hi

Gibt es in MySQL eine Möglichkeit, ähnliche bzw. gleiche Datensätze schnell und effizient zu finden? (Natürlich könnte ich jeden Datensatz nehmen, und dazu mit SELECT ähnliche Datensätze laden, aber das scheint mir etwas sehr ineffizient.)

mfG, michael

  1. Hello,

    Gibt es in MySQL eine Möglichkeit, ähnliche bzw. gleiche Datensätze schnell und effizient zu finden? (Natürlich könnte ich jeden Datensatz nehmen, und dazu mit SELECT ähnliche Datensätze laden, aber das scheint mir etwas sehr ineffizient.)

    Eine Methode, die fast in allen DBMS funktioniert, ist, die Tabelle in zwei Arbeitsbereichen zu eröffnen und dann eine Relation mit genügend ungenauer Filterbedingung aufzubauen.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Eine Methode, die fast in allen DBMS funktioniert, ist, die Tabelle in zwei Arbeitsbereichen zu eröffnen und dann eine Relation mit genügend ungenauer Filterbedingung aufzubauen.

      Gibts da eigentlich brauchbare Tools für diesen Job, so wie der (halbwegs brauchbaren ;) Dublettenfind-Assistent von MS Access?

  2. yo,

    Gibt es in MySQL eine Möglichkeit, ähnliche bzw. gleiche Datensätze schnell und effizient zu finden?

    GROUP BY und HAVING ist dein freund. je nachdem welche spalten als kriterium hinhalten sollen, nimmst du diese in die GROUP BY klausel und schränkst das ergebnis auf COUNt(*) > 1 in der HAVING klausel ein.

    select spalte1, spalte2..., COUNT(*) AS Anzahl_gleicher_datensaetze
    FROM tabelle
    GROUP BY spalte1, spalte2...
    HAVING COUNt(*) > 1

    Ilja

  3. Ok, danke für die Antworten. Mal sehen, ob ich das hinkriege ;-)

  4. Hallo Michael,
    für gleiche Datensätze hat dir Ilja bereits einen Tipp gegeben, aber wie definierst du 'ähnliche Datensätze'?
    Solche, die in bestimmten Spalten übereinstimmen sich in anderen aber unterscheiden dürfen, auch dann ist Iljas Lösung richtig, oder solche, die in bestimmten Spalten ähnliche Werte haben, z.B. Maier und Meier?

    Grüße
    Marcus

    --
    si vis pacem, para iustitiam