Mina: MySQL Einträge vergleichen / doppelte Einträge

Hallo,

ich habe mir eine MySQL Datenbank gebastelt in der Form

id|titel|text|link

Darin tragen verschiedene User aktuell Meldungen rund ums Reiten ein, in etwa mit solchen Titeln:

Neue Sattel aus Leder für Kleinpferde
Kleinpferde - neue Ledersattel erhältlich
...

D.h. es sind in etwa die gleichen Meldungen. Als Moderatorin schaue ich mir die Datenbank von Zeit zu Zeit an ...

Gibt es da eine Möglichkeit wie ich mir mit MySQL oder PHP ähnliche und oder doppelte Einträge (das sollte ja mit GROUP BY gehen ... hab ich mal groß versucht) ausgeben lassen kann?

Das wäre schon eine große Hilfe ... hat jemand eine Idee?

Vielen Dank, Eure Mina

LG!

  1. Neue Sattel aus Leder für Kleinpferde
    Kleinpferde - neue Ledersattel erhältlich

    Da deine Titel nur inhaltlich identlich, nicht aber textgleich sind, kannst du dir höchstens eine eigene Routine schreiben, die das tut. Auf MySQL Basis sehe ich da keine Möglichkeit.
    Je nach Anzahl der Datensätze, kann die Abarbeitung des Scripts sehr lange dauern.

    1. Hallo,

      Da deine Titel nur inhaltlich identlich, nicht aber textgleich sind, kannst du dir höchstens eine eigene Routine schreiben, die das tut. Auf MySQL Basis sehe ich da keine Möglichkeit.

      Mmmh ... Routine heißt dann, dass quasi alle Wörter der Titel verglichen werden sollten und dann ein Ausgabe mit der größen Übereinstimmung erstellt werden muss ... oder wie muss ich mir das vorgestellen?

      Hast Du da noch Tipps?

      Vielen Dank und LG,

      Mina

      1. Hi,

        da es ja neue Sattel auf verschiedenen Seiten geben könnte, würde ich eher die vom User hinzugefügten Links vergleichen und hier z.B. mit Split(link,"/") die doppelten Adressen im PHP unterbinden.

        Nur weil jemand zufällig einen ähnlichen Titel gewählt hat, muss das ja  nicht zwangsläufig um das gleiche Thema bzw. die gleiche Internetseite gehen...oder?

        Zu dem Split-Vorschlag:

        URL1: http://www.pferdepferdepferde.de
        URL2: http://www.pferdepferdepferde.de/sattelangebote
        URL3: www.pferdepferdepferde.de/sattelangebote
        usw.

        hier könnte man mit Split die "Hauptadresse" herausbekommen und dann vergleichen...wenn du unbedingt die Texte vergleichen willst geht das natürlich auch so. Siehe hierzu z.B.: diese Referenz

        Direkt im SQL-Query wüsste ich keine Möglichkeit Inhalte von Textfeldern zu vergleichen - wie die anderen Tipgeber schon erwähnten bleibt dir da nur eine Routine zum löschen von "doppelten" Einträgen.

        Gruss,
        Seppel

  2. Gibt es da eine Möglichkeit wie ich mir mit MySQL oder PHP ähnliche und oder doppelte Einträge (das sollte ja mit GROUP BY gehen ... hab ich mal groß versucht) ausgeben lassen kann?

    doppelte Einträge:
    Ja, das ist einfach, Du bildest zwei Datensatzmengen, wobei eine Menge alle Datensätze beinhaltet, die zweite nur einzigartige Datensätze und bildest mit einer geeigneten Abfrage auf diese Menge die Differenzmenge. Diese sind die Dubletten.
    Anmerkungen:
    Alle Datensätze kriegst Du mit "SELECT DF_1, DF_2 FROM DT_1".
    Einzigartige Datensätze kriegst Du mit "SELECT DISTINCT ..."
    Die Differenzmenge mit einem geschichten "IN".

    ähnliche Einträge:
    Das ist schwierig, Du benötigst Regeln und Stringfunktionen.