gleiche Texte finden, wenn Anzahl > x

gleiche Texte finden, wenn Anzahl > x

am 17.06.2007 02:57:30 von ch_pingel

Hallo,

ich habe eine Tabelle mit mehreren hunderttausend Text-Einträgen -
darunter befinden sich leider auch x Spam-Einträge. Diese wollte ich
nun per Query finden, um diese löschen zu können.

Spam-Einträge fallen dadurch auf, daß mehrere Male der gleiche Eintrag
vorgenommen wird.

Ich habe es zwar geschafft, alle Einträge zu gruppieren und das
gleiche Vorkommen jeden Eintrags in eine Anzahl zu packen - aber ich
schaffe es nicht, nur die Einträge zurückgeben zu lassen, bei der die
Anzahl größer als z.B. 10 ist.

Wie bekomme ich das hin ?

Hier mein Statement:

SELECT text, COUNT(text) AS anzahl FROM Texte GROUP BY text ORDER BY
anzahl DESC

Wenn ich jetzt aber ein WHERE anzahl>10 noch einfüge, dann sagt mir
MySQL, daß es die Tabellenspalte nicht finden kann - klar, die gibt es
ja auch nicht - aber wie kann ich das sonst machen ?

Wenn ich die Anzahl-Prüfung nur per z.B. Perl-Script machen kann, wo
ich das Statement aufrufe, würde ich da mehrere hunderttausend Zeilen
zurück bekommen, was nicht gerade effektiv wäre zu überprüfen.


Als weitere Erweiterung des obigen Statements - ich habe mehrere
dieser Tabellen - kann ich die Zählung auch über mehrere Tabellen
hinbekommen ? - wenn z.B. in einer Tabelle 5 Spam-Einträge stehen und
in der anderen 6, dann würden diese sonst nicht gefunden werden.


Mit freundlichen Grüßen,
Christoph Pingel

Re: gleiche Texte finden, wenn Anzahl > x

am 17.06.2007 05:27:36 von B.Steinbrink

On Sat, 16 Jun 2007 17:57:30 -0700, ch_pingel wrote:
> SELECT text, COUNT(text) AS anzahl FROM Texte GROUP BY text ORDER BY
> anzahl DESC
>
> Wenn ich jetzt aber ein WHERE anzahl>10 noch einfüge, dann sagt mir
> MySQL, daß es die Tabellenspalte nicht finden kann - klar, die gibt es
> ja auch nicht - aber wie kann ich das sonst machen ?

Die WHERE Klausel enthält Bedingungeb für die einzelnen Zeilen der
Tabelle, du suchst HAVING.

Björn