Hallo Welt
Folgendes Problem:
In folgender MySQL-Tabelle muss ich
a) Alle Datensätze finden, die mindestens zweimal (dreimal, x-mal) identisch sind (Alle id's gleich und alle Wort's gleich)
b) Alle Datensätze finden, bei denen sich die Schreibweise von Wort unterscheidet (alle id's gleich aber nicht alle Wort's gleich)
+---+----+------------------+
| i | id | Wort |
+---+----+------------------+
| 1 | 2 | Grüsse |
| 2 | 3 | Philosophie |
| 3 | 1 | Fotographie |
| 4 | 1 | Fotografie |
| 5 | 2 | Grüße |
| 6 | 1 | Fotografie |
| 7 | 3 | Philosophie |
| 8 | 2 | Grüße |
| 9 | 3 | Philosophie |
+---+----+------------------+
Bei a) sollte rauskommen
+---+----+------------------+----------+
| i | id | Wort | COUNT(*) |
+---+----+------------------+----------+
| 2 | 3 | Philosophie | 3 |
+---+----+------------------+----------+
und bei b) sowas wie
+---+----+------------------+----------+
| i | id | Wort | COUNT(*) |
+---+----+------------------+----------+
| 3 | 1 | Fotographie | 1 |
| 4 | 1 | Fotografie | 2 |
| 6 | 1 | Fotografie | 2 |
| 1 | 2 | Grüsse | 1 |
| 5 | 2 | Grüße | 2 |
+---+----+------------------+----------+
Habe a) mit
SELECT i, id, Wort, COUNT(*)
FROM words
WHERE id NOT IN
(SELECT id
FROM hwords
GROUP BY HWort
HAVING COUNT(*)<2)
GROUP BY id;
beinahe hingekriegt.
Gibt es da was eleganteres?
Und wie macht man b)?
Ich steht so auf dem Schlauch, dass ich zweifle, ob das überhaupt möglich ist.
Danke schon mal fürs Lesen.
Mathias