Rouven: SQL-Suche nach gleichen/nicht gleichen Datensätzen

Beitrag lesen

Hello,

a) Alle Datensätze finden, die mindestens zweimal (dreimal, x-mal) identisch sind (Alle id's gleich und alle Wort's gleich)

Trivial mit Sternchen hinten dran. Trivial weil: gruppiere einfach gleiche id/wort und lass dir nur die ausgeben, die da mehr als ein Vorkommen haben:
SELECT id, wort, COUNT(id) FROM tabelle GROUP BY id, wort HAVING COUNT(id) >  1

Nun das "Problem" - Du darfst i nicht mit abfragen, weil das i ja nicht für alle Elemente in der Gruppe gleich ist (MySQL mal abgesehen *würg*). Du musst dir also dafür ein Konstrukt bauen, sei es ein JOIN oder ein Subselect (meine bevorzugte Variante, aber nicht in allen MySQL Versionen verfügbar).
Wir stülpen ein Select drüber (und sind damit fast bei deiner Variante)
SELECT i, id, wort
FROM tabelle WHERE id IN (
   SELECT id, wort, COUNT(id) FROM tabelle GROUP BY id, wort HAVING COUNT(id) >  1
)

b) Alle Datensätze finden, bei denen sich die Schreibweise von Wort unterscheidet (alle id's gleich aber nicht alle Wort's gleich)

der ist schon etwas lästiger, ich empfehle einen Self-JOIN mit anschließendem Vergleich, also etwa
SELECT t1.id, t1.i, t1.wort, t2.i, t2.wort
FROM tabelle AS t1 INNER JOIN tabelle AS t2
ON t1.id = t2.id
WHERE t1.wort <> t2.wort

MfG
Rouven

--
-------------------
Vegetarier essen meinem Essen das Essen weg.