*Markus: Alle Einträge mit count(id) > 1 löschen?

Beitrag lesen

Hallo,

ich habe folgende Tabelle:

id |    name    | age |   gebdat
----+------------+-----+------------
  1 | Huber      |  37 | 1971-10-10
  2 | Mustermann |  15 | 1994-12-01
  3 | Hofer      |  45 | 1966-10-10
  3 | Moser      |  44 | 1966-10-10
  5 | Hauser     |  30 | 1978-10-10
  6 | Musterfrau |  44 | 1966-10-10
  7 | Hauser     |  31 | 1979-10-10
 10 | Burger     |  25 | 1983-04-09

Jetzt will ich daraus alle Einträge so löschen, dass jene ID nur einmal vorkommt. Da 3 zwei Mal vorkommt, soll einer der beiden 3er verschwinden.
Das Statement soll natürlich allgemein gehalten sein.

Ich stelle mir etwas in diese Richtung vor:

delete from tempperson where count(id) > 1;

Führt aber leider zu einem...
aggregates not allowed in WHERE clause

in PostgreSQL.
Wie kann ich an das Problem herangehen?

Markus

--