Die Abfrage sieht super aus und ist genau so wie ich es ausgegeben haben wollte.
test=*# select * from benutzer where vorname in (select vorname from benutzer group by vorname having count(1) > 1);
id | nummer | name | vorname
----+--------+--------+---------
1 | 123456 | alfred | peter
2 | 123457 | hans | peter
4 | 123459 | donald | duck
5 | 123455 | alfred | peter
6 | 123453 | daisy | duck
(5 Zeilen)
Diese Ausgabe funktioniert bei mir noch nicht.
test=*# select * from benutzer where (name, vorname) in (select name, vorname from benutzer group by name, vorname having count(1) > 1);
id | nummer | name | vorname
----+--------+--------+---------
1 | 123456 | alfred | peter
5 | 123455 | alfred | peter
(2 Zeilen)
bekomme nach "where (name..., ...) einen Fehler.
An expression of non-boolean type specified in a context where a condition is expected, near ','.